Ja是否过于笨重?
20年前,大家都吐槽Ja运行慢,占用空间大,效率低,臃肿。
20年后,硬件翻了n倍。解释运行和本地二进制几乎没有差别,但oracle依然努力推出aot预编译技术,直接将class字节码编译成so、dll这样的本地二进制。
20年后,磁盘升级了固态,两百G、五百G升级成了1T、4T,jdk总大小控制在三两百兆,解压即用,无需配置。2022年发布的jdk18解包后体积301兆。即使硬盘大了,oracle还是研究推出jlink这样的jdk剪裁技术,将jdk中项目用不到的部分切除,剪裁后的jdk最小只有20多兆。
而同样是20年后的今天,一个angular项目的node模块可能一个多G,一个电脑微信的安装大小是900多兆,一个王者荣耀的体积是9个多G。时代在变化,它们体积的增长“似乎”是与时俱进的正常现象,但人们唯无法受Ja的“笨重”。这种笨重有多少例是以前的刻板印象?又有多少是由于技术呢?
Ja不是最好的语言,但jvm虚拟机和其生态一定是最好技术和环境之一。


