SeAL80s 发表于 2016-02-18 23:51

Go语言是如何实现跨平台的?

    Java提供了一个JVM,任何的java代码都要通过JVM来解释。所以每个平台都要先装自己的JVM然后才能支持Java应用。Golang 也是类似吗?

MMMIX 发表于 2016-02-19 15:09

回复 1# SeAL80s


    不是。Golang 的程序会被直接编译为当前平台的可执行文件。

SeAL80s 发表于 2016-02-19 21:16

回复 2# MMMIX


   我觉得这样效率和运行速度是不是比Java代码快多了?Java 语言最初的卖点就是跨平台,现在好多语言都跨平台了比如:Golang、Swift,而且不用把语言代码本身转换成中间代码,那么Java以后还有优势吗?我说的语言本身,不比大公司支持、厂商给写中间件应用,就语言级别,Java没什么优势吧???

MMMIX 发表于 2016-02-19 21:50

本帖最后由 MMMIX 于 2016-02-19 21:51 编辑

SeAL80s 发表于 2016-02-19 21:16 static/image/common/back.gif
回复 2# MMMIX

我觉得这样效率和运行速度是不是比Java代码快多了?


类似或同样质量的代码,速度取决于编译器/虚拟机做的怎么样。比起直接编译为当前平台的可执行文件,Java 代码的速度未必就有多慢。


Java 语言最初的卖点就是跨平台,现在好多语言都跨平台了比如:Golang、Swift,而且不用把语言代码本身转换成中间代码,那么Java以后还有优势吗?


不好说。要把现状和历史因素考虑进去。现有的那么多 Java 代码都丢掉?重写?即使要被替代,也不是一时半会能实现的了的。


我说的语言本身,不比大公司支持、厂商给写中间件应用,就语言级别,Java没什么优势吧???


也没有什么劣势。

haolifengwang 发表于 2016-10-11 14:25

java的实现跨平台是使用了java的虚拟机,java虚拟机屏蔽了本地的操作,提供了统一的函数。golang则直接将代码编译成立本地代码,调用本地操作。java的关键是虚拟机,golang关键是编译器。

haolifengwang 发表于 2016-10-11 14:26

网上有人测试过golang的运行速度与java几乎相同,没有明显的改进!

dorodaloo 发表于 2017-03-01 10:27

Java没什么优势

shang2010 发表于 2017-07-20 15:59

java应该,从几位的分析角度来看,也没有什么劣势吧
页: [1]
查看完整版本: Go语言是如何实现跨平台的?