从 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中文网其他相关文章!