卡卷网
当前位置:卡卷网 / 每日看点 / 正文

Ja是否过于笨重?

作者:卡卷网发布时间:2025-01-09 18:45浏览数量:83次评论数量:0次

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虚拟机和其生态一定是最好技术和环境之一。

一些科普:1.jdk不要求运行时依然jdk(可选择jre)2.men有3.2亿个组件,需要时坐标引入,不需要时随意移除,不会影响项目体积3.根据情况选jvm,需要更小的内存占用可以选择openj9,需要更好的性能可选hotspot4.做桌面gui开发的jafx不在jdk之中,不占用项目体积,需要可另外加入5.jlink技术对jdk进行剪裁,剪裁后的运行时更小,方便和软件程序一起打包发给用户6.aot技术可以将字节码编译成本地二进制文件7.jvm一定是最优秀的虚拟机之一,它和ja没有必然关系,class字节码不一定是ja语言编译来的,你也可以基于jvm规范造自己的编程语言8.无论是集成开发工具(ide)、虚拟机(jvm)、开发工具包(oracle、openjdk只是规范实现之一)、(tomcat和jetty等)还是众多库或框架(strtus、spring等),以Ja为主导的生态圈都表现出了极其开放、自由和合作共赢的态度。

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码