首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java七大热门技术框架源码解析[学习分享]

Java 11成为新的规范

Java七大热门技术框架源码解析

download:https://www.51xuebc.com/thread-612-1-1.html

在2020年的时分,Java 11曾经推出了1年多,但当时Java 8的占有率高达84.48%。2年过去了,Java 11上消费的比例第一次超越Java 8,占有率曾经到达了48.44%。曾今的霸主Java 8简直跌掉了一半,以46.45%占领第二。

而大势所趋的、整个Java生态都在拥抱的Java 17在排行榜上还是处于比拟低的位置。这个其实还是预料之中的,由于生态的支持还需求一定时间的演进,比方Spring这个Java生态的大基座,关于Java 17的重要支持还要等到今年年底的Spring Boot 3发布(对这局部感兴味的小同伴记得关注我,公众号程序猿DD,长期分享这块最前沿的专业解读),同时周边的其他各种框架、中间件也都要全面更上之后,才真正具备上消费的成熟度。

所以,先从Java 8到Java 11,还是一个不错的选择,小步快跑,以免到时分直接从Java 8到Java 17,步子太大,扯到x就不好了...

最盛行的非LTS版本:Java 14

从Java 9开端,Java版本的发布形式发作了变化。每隔6个月就会有一个新版本发布,但这些版本只在下一个版本之前遭到官方支持。这样做的目的是让新功用更频繁可用。

但是,与消费中的LTS版本相比,这些暂时的非LTS版本运用率不断都十分低,只要2.7%的应用程序在运用。

固然像Azul Systems这样的一些供给商在一些非LTS版本上提供了补丁,但大多数的供给商没有这么做。这可能是为什么大家不愿意运用的缘由。在非LTS Java版本中,Java 14最受欢送。

Oracle在缩水,Amazon在崛起

这次的报告中,值得关注的是JDK发行版的变化。固然大局部开发人员还是会从Oracle取得JDK,而OpenJDK项目中的开源内容曾经产生了丰厚的选择。

上图显现了Oracle在对其JDK 11发行版停止更严厉的答应证控制之后(在运用Java 17返回到更开放的立场之前)的变化。2020年的时分,Oracle以绝对优势(约占Java市场的75%)成为最受欢送的供给商。2年过去了,固然他们仍然还是头把交椅,但他们的份额曾经减少了一半。而Amazon的市场占有率从2020年的2.18%大幅攀升至22%。

从2021年11月以来,还有一些有趣的变化:在Java 17发布之前,Eclipse Adoptium和Amazon在这份榜单上简直处于完整相反的位置。

容器中的资源分配

计算资源的配置

容器会影响人们分配计算和内存资源的方式。这份报告中的数据显现,在容器中运转的应用程序中,少于四个中心的应用程序所占的比例要高得多。

在人们经常部署容器的云环境中,小范围运转的驱动力很有意义。但这一趋向可能会给一些应用程序带来意想不到的问题。比方:当运转的内核少于2个时,在最近JVM上运用默许的G1渣滓搜集器所带来的许多并发益处就消逝了。一切这些单核实例可能都在运用串行搜集器,并为此付出了性能代价,但许多人可能以至不晓得这一点。

内存资源的配置

在比拟内存设置时,也会呈现相似的趋向,它们倾向于给容器中的实例分配更小的内存。

该报告中显现,只要大约80%的容器化应用程序经过-XMX或-XX:MaxRAMPercentage标志显式恳求JVM内存上限。从Java 9开端,JVM中的容器感知功用意味着这可能不会像过去那样对这些应用程序形成平安问题,只需JVM是每个容器中运转的独一进程。

最常用的渣滓搜集算法

渣滓搜集(GC)算法在JVM性能中起到中心作用,所以这块不断以来都是社区讨论最多的话题。新的数据显现,在Java 8之后,渣滓搜集器的运用发作了明显的变化。

G1的总体受欢送水平十分高。思索到Java 11和更高版本上的G1搜集用具有更新的默许设置和更高的性能,所以这一结果这并不令人诧异。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OejTMFgB_H2bYc6QLNy58xJQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券