是否可以(如果可以,推薦的方法是什么)從Go調用 java 代碼,而無需為每個函數調用啟動 JVM?即,是否有任何等效于 python 的 jpype 解決方案,它允許您啟動 JVM 一次,然后使用已經啟動的 JVM 導入 Java 類并調用它們?
3 回答

慕虎7371278
TA貢獻1802條經驗 獲得超4個贊
使用cgo調用使用JNI 調用 API創建 JVM 實例的 C 代碼,并使用 JNI 接口調用 Java 代碼。由于 goroutine 在技術上可以在本機線程之間切換,因此在進入和退出 Go 代碼和/或使用本機線程庫(如 pthreads)進行補充時,您可能必須非常小心地測試、附加和分離線程到 JVM。

翻過高山走不出你
TA貢獻1875條經驗 獲得超3個贊
將您的 Java 代碼捆綁在“服務器”中,并使用“rest/soap/thrift”之類的 RPC 調用它并保持服務器運行。我不知道有任何系統可以為您自動執行此操作。

qq_花開花謝_0
TA貢獻1835條經驗 獲得超7個贊
您可以在 Java 中創建一個 Java 管理類,它能夠與您的 Go 程序對話,并且您運行一次,并在您的 Go 程序要求時對其他 Java 代碼進行適當的調用。
- 3 回答
- 0 關注
- 300 瀏覽
添加回答
舉報
0/150
提交
取消