golang调用java

golang调用java,第1张

golang调用java是什么,让我们一起了解一下?

golang是一种静态强类型、编译型语言。功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算,golang调用java就是接收一个参数,然后输出一行结果。

由于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()) } 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的可执行文件同样的目录下。例如, run_java.exe在d:\goproject下,那么Hello.class也要在d:\goproject下。

可以,但是不是原键枣数生支持,稿首需要岩姿做一层转换。

比喻:使用json封装数据(json协议先确定好)

golang通过http访问webservice(使用http监听),java端返回json封装的数据。

golang语言中实现Java的多线程主要稿中绝是使用LockOSThread() 方法,代码如下:

package mainimport (

"log"

"runtime"

"time")func main() {

runtime.GOMAXPROCS(1)

for i := 0 i < 10 i++ {

go func() {

//runtime.LockOSThread()

for {

log.Println("a")

time.Sleep(time.Second)

}

}()

}

time.Sleep(time.Hour)}

运行之后,就会产键姿培虚生10个进程,如下截图:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12277403.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存