從Python 呼叫Java:綜合指南
從Python 呼叫Java 程式碼開啟了一個充滿可能性的世界,讓開發人員能夠充分利用優勢在他們的專案中使用兩種語言。雖然 jython 和 RPC 不是可行的選擇,但有幾種替代方法可以考慮。
JCC:C 層操作
JCC 是一個 C 程式碼產生器,有助於呼叫 Java來自 C 或 Python。但是,它需要編譯特定的調用,這可能會很麻煩。
JPype:遺留解決方案
JPype 已經存在了一段時間,是呼叫 Java 的流行解決方案來自 Python 的程式碼。儘管它是一個記錄良好的解決方案,但 2009 年 1 月的最後一次發布引起了人們對其持續支持的擔憂。
Py4J:有希望的替代方案
[Py4J](https:// /www.py4j.org/) 是一種新興的解決方案,它提供了一種從Python 程式碼呼叫Java 方法的無縫方式。與 Jython 不同,Py4J 有一部分在 Python VM 中運行,確保與現代 Python 版本和函式庫的兼容性。
使用 Py4J 簡單直覺。只需實例化一個 JavaGateway 對象,導入所需的 Java 類,然後像呼叫 Python 方法一樣呼叫其方法。
from py4j.java_gateway import JavaGateway gateway = JavaGateway() java_object = gateway.jvm.mypackage.MyClass() java_object.doThat()
透過套接字進行通信
Py4J 利用套接字用於Python和Java之間的通信,繞過JNI的需要並提供優化功能。它的自訂協議有助於管理記憶體並提高效能。
結論
Py4J 由於其積極的支持和兼容性而成為從Python 調用Java 代碼的有前途的解決方案現代Python版本,以及高效的通信協議。
以上是從 Python 呼叫 Java:哪個函式庫是 2023 年的最佳選擇?的詳細內容。更多資訊請關注PHP中文網其他相關文章!