PCon全球产品创新大会开幕在即,查看大会全部精彩内容这里直达 了解详情
写点什么

Java 状态报告:Java 8 占主导,Java 11 不算多

  • 2020 年 3 月 18 日
  • 本文字数:1020 字

    阅读完需:约 3 分钟

Java状态报告:Java 8占主导,Java 11不算多

New Relic 发布了一份新的JVM报告,该报告基于其全球客户在生产环境中运行的 JVM 报告的数据的分析。与其他自我报告调查不同,这里生成的数据来自正在生产环境中运行的 JVM。正如所料,结果数据集来自 New Relic 的客户,但它描绘了在生产中的使用情况,而不是开发人员在工作和测试中的使用情况。


特别得,该报告重点指出,在生产环境中运行的大多数 JVM 都使用的是 Java 的 LTS 版本;只有 11%多一点运行在 Java 11 上。大多数 JVM(超过 85%)运行在 Java 8 上,Java 7 紧随其后,只有几个百分点。非 LTS 版本仅占所报告的运行机器的 1%多一点。此外,报告还特别指出,JVM 用户在生产环境中的升级速度通常很慢;在 7 之前的 Java 版本上运行的 JVM 比在 9 或 10(都已 EOL)或 12 和 13(都已 EOL 或即将 EOL)上运行的版本还多。该报告还强调,许多 JVM 运行在过时的 Java 8 版本上,其中一些存在已知的安全漏洞。



其数据另一个有趣的方面是,尽管 Oracle 仍然是 JVM 的主要供应商(略低于 75%),但可以看到,许多其他供应商开始致力于提供运行时。Adopt OpenJDK 是排名第二高的提供商,占 7%,紧随其后的是 Iced Tea,占 5%多一点(GNU 发行版使用),Azul、IBM 和 Amazon 各占不到 3%的份额,还有许多其他一长串的提供商。



报告还着重指出了生产环境中使用的垃圾收集器;Parallel 仍然是垃圾收集器的首选,占 JVM 的 57%以上,G1 的占比略低于 25%,CMS 的占比则略高于 17%。在一定程度上,这种差异可以用 JVM 的版本来解释,因为 G1 收集器在 Java 8 中成为默认垃圾收集器,自发布以来逐渐成熟。但却出现了这样一种结果——在 Java 8 上超过 14%的 JVM 使用了 CMS, G1 是 13%——看看随 Java 版本出现的这种变化是一个有趣的统计。也许并不奇怪,结果中没有看到 Shenandoah 或 ZGC 在生产环境中的大量应用,只有一小部分配置了这两者中的一种。


最后,JVM 的内存配置显示了各种各样的内存大小,从 256Mb 到 16384Mb。奇怪的是,我们看到的 JVM 中约有 2.5%使用了最大大小为 819Mb 的内存,这很可能是 8192Mb 的复制和粘贴错误,如这里所示。超过三分之一的 JVM 报告使用相同的-Xmx 和-Xms 标识运行;建议是,虽然这对于较旧的 JVM 是必要的,但是当初始大小和最大大小允许不同时,比较新的垃圾收集器启发式方法可能会工作得更好。


InfoQ 已询问是否可以获得数据的匿名拷贝以供进一步分析,如果数据放出的话,我们会更新这篇文章。


原文链接:


New Relic – the State of Java Report


2020 年 3 月 18 日 15:271848

评论

发布
暂无评论
发现更多内容

设计微博系统中”微博评论“的高性能高可用计算架构

9527

react源码解析1.开篇介绍和面试题

全栈潇晨

React React Hooks react源码

高并发存储优化篇:诸多策略,缓存为王

Coder的技术之路

缓存 缓存击穿 缓存雪崩 缓存架构

知乎的一次29.7元的咨询

why技术

Java 程序员

Dubbo Admin 部署

青年IT男

dubbo

架构实战-模块5作业

大师兄

带你读论文丨异常检测算法及发展趋势分析

华为云开发者联盟

深度学习 异常检测算法 深度异常检测算法 深度半监督 群体异常检测

Spring 实例化方式有几种?为什么会用到 Cglib?

小傅哥

Java spring 小傅哥 cglib 手写框架

java.net.BindException: Address already in use: JVM_Bind解决方案

咿呀呀

IDEA javaWeb

六一特辑丨8岁小程序员献礼儿童节:我DIY了聊天机器人,做3D printer,还想和外星人对话!

华为云开发者联盟

编程 程序员 开发者 代码 机器人

JWT(auth0):RS256非对称加密算法实现Token的签发、验证

西门阿浪

Java Token RS256

Java 面试基础:Java 语言的特点

三掌柜

5月日更

【Flutter 专题】117 图解 Dismissible 滑动清除 Widget

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

走近设计模式:写代码一定要用设计模式吗?

华为云开发者联盟

设计模式 代码 软件设计 面向对象软件 GoF设计模式

重庆区块链公共服务平台—“渝快链”2.0正式发布

浪潮云

鸿蒙操作系统发布在即 万物互联时代将给开发者带来更多机遇

科技汇

🔎【Java 源码探索】深入浅出的分析Mutex底层源码

浩宇の天尚

Java JVM mutex Condition 5月日更

长连接网关技术专题(五):喜马拉雅自研亿级API网关技术实践

JackJiang

Netty nio 网关

开发人员应该害怕低代码吗?

禅道项目管理

程序员 低代码 开发 低代码平台

6月日更,优质更文,“定制”来袭~

InfoQ写作社区官方

6月日更 热门活动

从一个HTTP请求来看网络分层原理

IT视界

计算机网络 网络协议 HTTP 网络层

一文带你搞懂RPC到底是个啥

万俊峰Kevin

c++ 微服务 RPC RPC 协议实现原理 srp

软件研发中的错误假设

赫杰辉

设计 低代码 研发工具 x-series

初探可编程网关 Pipy

张晓辉

代理 网关 服务网格

架构师实战营 模块五总结

代廉洁

架构实战营

When others give us advice

escray

学习 极客时间 5月日更

大型系统中的证书管理

张俭

微服务 TLS PaaS

业务架构训练营,模块5作业,微博评论高性能架构

好吃不贵

业务架构

别把单测玩出“坏味道”

九叔(高翔龙)

单元测试 测试 单元测试 单元测试必要性

带你看懂MySQL执行计划

Simon

MySQL 执行计划

震惊,PostGIS还可以这样用!!!

华为云开发者联盟

数据库 分布式 GaussDB 地理数据库 PostGIS

金融行业数据库架构实践与运维

金融行业数据库架构实践与运维

Java状态报告:Java 8占主导,Java 11不算多_语言 & 开发_Alex Blewitt_InfoQ精选文章