看知乎上好多Java程序员都说由于JIT技术的引入,Java的性能已经和C++一样了,而且Java的开发效率极高,可以省下60%的时间。请 问事实真的是这样吗?我平常也都在写这两个语言,但是因为开发的软件的复杂度不大,并没有感觉到性能和开发效率有太大的差异,如果真的如那些Java程序 员所说的那样,为什么主流的游戏引擎都不用Java实现呢?而且教育版的Minecraft为什么要用C++重写呢?
Jvm是c加加写的
即 Java程序 等于 Java代码加c加加jvm
若Java程序大于c加加
则用Java程序实现jvm比c加加要快
因此 Java代码加Java程序编写的jvm加c加加编写的运行jvm的jvm 大于 普通Java程序(Java代码加c加加编写的jvm)
以此类推 继续用Java编写的jvm替换最底层的c加加编写的jvm,得:java编写的jvm嵌套越多,效率越高
Javaer还等什么
Java 语言本身很烂,要是离开生态啥都不是,简单的功能也可以实现据复杂,性能和c++没的比,当然人家是工业级语言,适用于大项目的,确实开发也算快,关键是在企业应用上生态已经起来了。解决方案XX的多
c++对于底层的接触比较多,它可以自己释放自己申请的内存,当然现在就算用c++重构一次hadoop,我觉得也不会有java快,每种语言都有特定的场景及搭配,就像我们生活中一样,都是成年人就别谈论什么好什么不好,这有点幼稚,当我们听见这些争论时,应该装不懂
需 要考虑场景和算法,两者都采用最优算法的情况下,Java在性能方面最多和C++持平,是不可能超过的。因为Java为了跨平台,不得不牺牲了灵活性和性 能,所以在性能方面是无论如何不能和本地代码的C++相提并论的。比如取字符串长度,Java在99%的情况下比C++快,原因大家懂的。但是,在两个语 言中,字符串的数据结构是不一样的,也就是说场景不同。
推荐程序员必备微信号
▼