写点什么

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

  • 2020-03-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-03-18 15:272295

评论

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

ThreadPoolExecutor源码解读(一)重新认识ThreadPoolExecutor(核心参数、生命周期、位运算、ThreadFactory、拒接策略)

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

边缘计算是流行词还是风口?开发者怎样选开源项目?

华为云开发者联盟

开源 开发者 5G 边缘计算 EdgeGallery 社区

阿里P8重磅总结:看完别说不会了哦,SpringBoot「完结篇」

比伯

Java 编程 程序人生 计算机 架构】

还有人搞不懂数据仓库与数据库的区别?

大数据技术指南

数据仓库 4月日更

探索区块链Baas平台的奥秘,源中瑞公共服务平台开发技术

源中瑞-龙先生

区块链 源中瑞 Baas

聪明人的训练(十七)

Changing Lin

4月日更

MySQL存储过程的异常处理

Sakura

4月日更

2021互联网大厂高频面试专题500道:并发编程/Spring/MyBatis(附答案解析)

比伯

Java 编程 架构 程序人生 计算机

Impala架构详解

五分钟学大数据

4月日更 impala

openLooKeng如何应对“野蛮零散”的大数据

openLooKeng

大数据 开源 openLooKeng

这才是大数据的正确打开方式

华为云开发者联盟

大数据 数据仓库 云原生 数据治理 灾备

MySQL 索引概要

大海

MySQL 索引

阿里高工熬夜14天码出这份Java10w字的面试手册!却遭GitHub封杀

Java架构之路

Java 程序员 架构 面试 编程语言

Spring Bean创建过程的Hook

邱学喆

BeanPostProcessor @Autowired注入原理 @Resource注入原理 @Value注入原理

堪称神作!阿里数位专家联合写的“大厂高频Java面试手册”

码农之家

Java 编程 程序员 互联网 面试

关于ReentrantReadWriteLock,首个获取读锁的线程单独记录问题讨论(firstReader和firstReaderHoldCount)

徐同学呀

AQS Java源码 JUC

技术实践丨列存表并发更新时的锁等待问题原理

华为云开发者联盟

事务 update 元组 列存表

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

Java架构之路

Java 程序员 架构 面试 编程语言

阿里高工熬夜18天码出Java150K字面试宝典,却遭Github全面封杀

Java架构之路

Java 程序员 架构 面试 编程语言

计算机原理学习笔记 Day8

穿过生命散发芬芳

计算机原理 4月日更

程序员3年CRUD从8K涨到20K,这4个月我到底经历了什么?

码农之家

编程 程序员 互联网 面试 职场

CopyOnWriteArrayList源码解读之CopyOnWrite思想的利与弊

徐同学呀

Java源码 JUC CopyOnWriteArrayList

FutureTask源码解读,阻塞获取异步计算结果(阻塞、取消、装饰器、适配器、Callable)

徐同学呀

Java源码 JUC Future

架构师实战营 模块二总结

代廉洁

架构实战营

架构实战营 模块二作业

fazinter

架构实战营

第 0 期架构训练营模块 2 作业

架构实战营

Github霸榜数月!原来是阿里大牛最新的Java性能优化实战笔记

钟奕礼

Java 编程 程序员 架构 面试

为极客时间增加自动提醒功能,督促用户回来上课

克比

架构师实战营 模块二作业(微信朋友圈高性能复杂度架构分析)

代廉洁

架构实战营

Anolis OS 8.2 RC2 发行,支持飞腾、海光、兆芯、鲲鹏等芯片

阿里云基础软件团队

史上最强的:京东北极星商业系统权限管控实践

Java架构师迁哥

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