JAVA的优势并不是一处开发处处运行,这其实是 JAVA的一个劣势_风闻
jiangtao9999-观网的黑名单,是保护假信息被戳穿用的2021-04-16 18:34
【本文来自《手游都爱用,巨头都在抢:Java为啥这么牛?》评论区,标题为小编添加】
JAVA 的优势并不是一处开发处处运行。
这其实是 JAVA 的一个劣势。
这导致 JAVA 的运行效率一直不怎么样,即便现在各种技术上头,但是代价还是太多了。
其实一开始, JAVA 主要还是“升华”了 C++ ,解决了 C++ 的问题。尤其是对开发人员,C++ 让人头秃的,就是各种功能滥用导致问题不断而被很多人吐槽。其次的 JAVA 的优化更多的是靠编译器和 vm 实现,并不严格依赖应用开发人员的优化功底。
其次的,JAVA 更多的是技术突破,实现了中间型语言的虚拟机运行模式。既可以实现,只要做好 vm 优化,那么在这个 vm 之上就可以保证 JAVA 程序的运行,这个解释语言的优势。又解决了传统解释语言因为没有编译模式,导致明文公布软件而被人获取程序(咱们先不讨论 JAVA 反编译)。这让开发人员并不太需要关注目标硬件但是又可以实现很好的性能,也不用担心自己软件被轻松破解。
而且 JAVA 还一个巨大的优势,就是有大量的功能库可以直接调用。开发人员去开发,甚至并不需要写多少代码,只需要引用几个库,之后把这些库互相之间要处理的数据连起来,程序就搞定了。这让很多应用软件开发商,显著的降低了开发成本,而解决方案提供商,也只需要针对自己的产品写出 JAVA 的模块,就不用考虑用户那边的环境依赖问题。两边开发都省了很多的事情。
当然,JAVA 已经是过去时了。比如现在 google 的 golang ,一个全新的语言必然可以了旧语言的问题。当然除了 golang ,还有其他各种方案出现,比如 graal 这种多语言都揉在一起的东西。还有 llvm 这种后端,可以支持字节码虚拟机,也可以输出为目标架构的二进制。或者重新开始,rustc 也是个好的选择。