共计 1966 个字符,预计需要花费 5 分钟才能阅读完成。
近日,New Relic 公布了最新的 2022 Java 生态系统报告,这份报告能够帮忙咱们深刻的理解 Java 体系的最新应用状况,上面就一起来看看 2022 年,Java 倒退的怎么样了,还是 Java 8 YYDS 吗?
Java 11 成为新的规范
在 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 就不好了 …
我正在连载 Java 8 之后的新个性解读,这次一改之前的博客格调,采纳文档(https://www.didispace.com/java-features/)+ 视频(B 站、视频号)的形式编写,浏览与学习体验更加。感兴趣的小伙能够关注珍藏起来,能转发分享下那是更好,这样更有更新的能源。
最风行的非 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 收集器具备更新的默认设置和更高的性能,所以这一后果这并不令人诧异。
原始报告我放到公众号里了,对细节内容感兴趣的话,能够在公众号中发送关键词:relic-java-2022,获取残缺报告。
好了,明天的剖析那个就到这里!如果您学习过程中如遇艰难?能够退出咱们超高品质的 Spring 技术交换群,参加交换与探讨,更好的学习与提高!
欢送关注我的公众号:程序猿 DD。第一工夫理解前沿行业音讯、分享深度技术干货、获取优质学习资源