亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不為每次調用調用 JVM 的情況下從 Go 調用 Java 代碼?

如何在不為每次調用調用 JVM 的情況下從 Go 調用 Java 代碼?

Go
冉冉說 2021-07-08 13:00:03
是否可以(如果可以,推薦的方法是什么)從Go調用 java 代碼,而無需為每個函數調用啟動 JVM?即,是否有任何等效于 python 的 jpype 解決方案,它允許您啟動 JVM 一次,然后使用已經啟動的 JVM 導入 Java 類并調用它們?
查看完整描述

3 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

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


查看完整回答
反對 回復 2021-07-12
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

將您的 Java 代碼捆綁在“服務器”中,并使用“rest/soap/thrift”之類的 RPC 調用它并保持服務器運行。我不知道有任何系統可以為您自動執行此操作。


查看完整回答
反對 回復 2021-07-12
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

您可以在 Java 中創建一個 Java 管理類,它能夠與您的 Go 程序對話,并且您運行一次,并在您的 Go 程序要求時對其他 Java 代碼進行適當的調用。


查看完整回答
反對 回復 2021-07-12
  • 3 回答
  • 0 關注
  • 300 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號