当前位置: 首页 > 后端技术 > Java

2022年Java生态报告:Java11超越Java8,甲骨文在萎缩,亚马逊在崛起!

时间:2023-04-01 19:35:43 Java

近日,NewRelic发布了最新的2022年Java生态系统报告,可以帮助我们深入了解Java系统的最新使用情况。Java8是YYDS吗?Java11成为新标准。2020年,Java11已经推出一年多了,但Java8的份额却高达84.48%。两年后,Java11的生产占比首次超过Java8,份额达到了48.44%。曾经的霸主Java8几乎跌了一半,以46.45%占据第二位。不过,大势所趋、被整个Java生态所拥护的Java17,在排行榜上还处于比较靠后的位置。这其实也在意料之中,因为生态支撑还是需要一定时间的进化。比如Java生态大基地Spring,对Java17的重要支持要等到今年年底SpringBoot3的发布了。有兴趣的朋友记得关注我,公众号程序员DD,长期分享这个前沿的专业解读),同时围绕它的其他各种框架和中间件也必须全面更新,才能真正用于生产。到期。因此,先从Java8转到Java11还是一个不错的选择。小步快跑,免得拿到手就直接从Java8跳到Java17。8后新功能解读,这次一改之前的博客风格,使用文档(https://www.didispace.com/java-features/)+视频(B站,视频号)写、读、写的学习体验就更好了。有兴趣的可以关注加收藏,如果能转发分享就更好了,这样才有更多的动力更新。最流行的非LTS版本:Java14从Java9开始,Java版本的发布模型发生了变化。每6个月发布一个新版本,但这些版本仅在下一个版本之前得到官方支持。这样做的目的是使新功能更频繁地可用。然而,与生产中的LTS版本相比,这些临时非LTS版本的使用率非常低,仅被2.7%的应用程序使用。虽然像AzulSystems这样的供应商会为某些非LTS版本提供补丁,但大多数供应商不会。这可能是人们不愿意使用它的原因。在非LTSJava版本中,Java14最受欢迎。甲骨文在萎缩,而亚马逊在崛起。在本报告中,值得关注的是JDK发行版的变化。虽然大多数开发者仍然会从Oracle获得JDK,但OpenJDK项目中的开源内容已经产生了丰富的选择。上图显示了Oracle对其JDK11发行版引入更严格的许可控制后的变化(在Java17回归更开放的立场之前)。2020年,甲骨文以绝对优势成为最受欢迎的厂商(约占Java市场的75%)。2年过去了,虽然他们仍然占据榜首,但他们的份额已经减少了一半。亚马逊的市场份额从2020年的2.18%大幅攀升至22%。从2021年11月开始,出现了一些有趣的变化:在Java17发布之前,EclipseAdoptium和亚马逊在这个列表中几乎处于完全相反的位置。容器中的资源分配容器的配置会影响计算和内存资源的分配方式。这份报告中的数据表明,在容器中运行的应用程序中,内核少于四核的比例要高得多。在人们经常部署容器的云环境中,小规模运行的动力很有意义。但这种趋势可能会给某些应用程序带来意想不到的问题。例如:当运行的内核少于2个时,在最近的JVM上使用默认G1垃圾收集器的许多并发优势就会消失。所有这些单核实例可能都在使用串行收集器并为此付出了性能代价,但很多人可能甚至不知道这一点。内存资源的配置在比较内存设置时显示出类似的趋势,即倾向于为容器中的实例分配较少量的内存。该报告显示,只有大约80%的容器化应用程序通过-XMX或-XX:MaxRAMPercentage标志明确请求JVM内存上限。从Java9开始,JVM中的容器感知意味着对于这些应用程序来说,这可能不会像以前那样成为安全问题,只要JVM是每个容器中运行的唯一进程即可。最常用的垃圾回收算法Garbagecollection(GC)算法在JVM性能中起着核心作用,因此这一直是社区中讨论最多的话题。新数据显示,Java8之后垃圾收集器的使用情况发生了显着变化。G1的整体流行度非常高。鉴于Java11及更高版本上的G1收集器具有更新的默认值和更高的性能,这个结果并不令人惊讶。我把报告原件放在公众号里了。如果您对详情感兴趣,可以在公众号中发送关键词:relic-java-2022,获取完整报告。好了,今天的分析就到这里!如果你在学习过程中遇到困难?可以加入我们超优质的Spring技术交流群,参与交流讨论,更好的学习进步!欢迎来到我的公众号:程序员DD。第一时间了解行业前沿资讯,分享深度技术干货,获取优质学习资源