golang调⽤java_Go调⽤Java的⼀个简单例⼦
2019独⾓兽企业重⾦招聘Python⼯程师标准>>>
由于Java世界⾥有⾮常丰富的开源应⽤模型和轮⼦,⽽这些正是Go世界⾥⾯最缺乏的东西,所以我⾸先考虑的就是如何在Go⾥⾯调⽤现有的Java代码。早上写了个简单的Go调⽤Java的例⼦,在winxp环境下能够正常运⾏。这段代码⽐较简单,就是在Go代码⾥⾯去call⼀个叫Hello的java对象。⽽这个Hello .java功能也⾮常简单,就是接收⼀个参数,然后输出⼀⾏结果。
调⽤的初始感觉还⾏,当然还需要后⾯做更复杂的案例测试。具体的代码如下:
// run_java
package main
import (
"fmt"
"os/exec"
)
/**
* 调⽤⼀个Hello.class,并接收⼀个参数
*/
func callJava(){
cmd := exec.Command("java","Hello","tom")
out,err := cmd.Output()
if err != nil {
println("error:",err.Error())
}
java调用python模型
fmt.Printf("call java class Hello: %q\n", string(out))
}
func main() {
fmt.Println("Test Call Java function!")
callJava()
}
/* Hello.java
public class Hello{
public static void main(String[] args){
if(args.length==0)
System.out.println("hello my world!");
else
System.out.println("hello my world! "+args[0]);
}
}*/
注意:
为了能够运⾏我的例⼦,需要把Hello.class放在和 run_java的可执⾏⽂件同样的⽬录下。例如, 在d:\goproject下,那么Hello.class也要在d:\goproject下。
-------------------------------------------------
2012-07-03
到⼀款开源的GoJVM框架,可以在Go程序⾥⾯实例化⼀个java class,并调⽤java class⾥⾯的⽅法。⽼外真是⽜,GoJVM正是我想要的东西。有些遗憾的是GoJVM⽬前⽀持⽐较简单的JAVA对象,⽽且已经有快⼀年没有更新了。感兴趣的朋友可以⾃⼰去下载学习⼀下。
--------------------------------------
2012-07-04
看来有些⼈还是没看懂程序,那我就给没看懂程序的朋友再讲解⼀下吧。写这个例⼦是为了探索Go调⽤Java代码的可⾏⽅式。⽽这个例⼦是演⽰了在同⼀个进程内,Go程序如何与Java程序完成信息交换的。⾸先,在同⼀个进程⾥,Go程序启动JVM,并加载Java程序
Hello.class,并发送参数“tom”,Java程序Hello.class在接收到消息后,完成运算后通过控制台向Go程序返回结果,然后Go程序把返回结果打印出来。这种Go 在同⼀个进程内调⽤Java程序是最简单、最容易实现的⽅式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。