[Python] py4j的使用

py4j簡介:

官網(wǎng)
Py4J enables Python programs running in a Python interpreter to dynamically access Java objects in a Java Virtual Machine. Methods are called as if the Java objects resided in the Python interpreter and Java collections can be accessed through standard Python collection methods. Py4J also enables Java programs to call back Python objects.

Mac安裝:

  • pip 安裝
pip install py4j

py4j.jar包路徑:/usr/share/py4j/py4j0.x.jar or /usr/local/share/py4j/py4j0.x.jar
  • conda 安裝(或者使用Anaconda-Navigator安裝)
conda install py4j

py4j.jar包路徑:/anaconda3/share/py4j/py4j0.x.jar

使用:

1.java代碼

// 需要導入py4j.jar包
import py4j.GatewayServer;
import java.util.Random;


public class EntryPoint {
    private static final Random random = new Random();

    public int randInt() {
        return random.nextInt();
    }

    public static void main(String[] args) {

        EntryPoint app = new EntryPoint();
        // py4j服務(wù)
        GatewayServer gatewayServer = new GatewayServer(app);
        gatewayServer.start();
        System.out.println("Gateway Server Started");
    }
}

2.Python代碼

from py4j.java_gateway import JavaGateway

# 初始化
gateway = JavaGateway()

def main():
    # 調(diào)用Java-EntryPoint中的randInt函數(shù)
    a = gateway.entry_point.randInt()
    print(a)

if __name__ == '__main__':
    main()
注意:
1.導入py4j.jar包
2.運行Java代碼
3.運行Python代碼(必須在2之后)

python調(diào)用Java的其他方式:

感謝ayuLiao的這篇文章python調(diào)用Java的多種方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 928 4:30開始心房顫抖 昏迷 無法吸痰 白沫 胸腔積液 眼珠水腫 守夜 927 表征平穩(wěn) 醫(yī)生說心率變慢 口...
    海蠣子屁屁閱讀 173評論 0 0
  • 在一座古老的寺廟里新來了一個小和尚,小和尚做事很積極,剛來便跑到師父身邊誠懇的說:“師父,我初來乍到,先干些什么呢...
    易己凈心閱讀 566評論 2 3

友情鏈接更多精彩內(nèi)容