写点什么

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:272348

评论

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

腾讯发布第二季度财报,腾讯云数据库收入同比增长超过30%

科技热闻

我眼中的无影云桌面‖云桌面使用者角度

乌龟哥哥

8月月更

应用缺少POI数据,如何开发地点深度信息?

HarmonyOS SDK

预约直播 | 基于预训练模型的自然语言处理及EasyNLP算法框架

阿里云大数据AI技术

深度学习 阿里云 算法框架

计算机网络(二、物理层)

计算机网络 8月月更

圣庭医疗联合创始人谷红仓:高通量基因测序在药物研发和靶向治疗中的应用

阿里云弹性计算

HPC 高性能计算 生命科学 基因测序

3 分钟温故知新 RxJS 【创建实例操作符】

掘金安东尼

前端 函数式编程 8月月更

迄今为止最完整的DDD实践

阿里技术

DDD 经验分享

C++继承中的多继承语法与菱形继承

CtrlX

c c++ 面向对象 继承 8月月更

RocketMQ高可用设计之故障规避机制

急需上岸的小谢

8月月更

文件管理-Linux系统压缩打包

Albert Edison

Linux centos 文件管理 tar命令 8月月更

我做了个《联机桌游合集: UNO+斗地主+五子棋》无需下载,点开即玩!叫上朋友,即刻开局!不看广告,不做任务,享受「纯粹」的游戏!

HullQin

CSS JavaScript html 前端 8月月更

基于CC2530(ZigBee)设计的景观照明控制系统+配套手机APP

DS小龙哥

8月月更

Go-Excelize API源码阅读(十三)—— GetSheetVisible、SetSheetFormatPr

Regan Yue

Go 开源 源码解析 8月日更 8月月更

Kubernetes Kruise Rollout

CTO技术共享

开源 签约计划第三季 8月月更

寻找海量数据集用于大数据开发实战(维基百科网站统计数据)

程序员欣宸

大数据 数据集 8月月更

云原生(二十) | 深入了解Kubernetes(k8s)Service

Lansonli

云原生 k8s 8月月更

Kubernetes 重大更改和删除

CTO技术共享

开源 签约计划第三季 8月月更

【React源码系列】React Context原理,为什么我建议尽可能少的使用React Redux管理状态 审核中

爱切图的木子老师

react源码 react context react redux

直播商城系统——直播和电商的合理有效结合

开源直播系统源码

软件开发 直播系统源码 直播带货系统 直播商城系统 直播app系统

自媒体代运营为何被诟病,代运营的水有多深

石头IT视角

低代码实现探索(四十八)后端服务

零道云-混合式低代码平台

Web登录很简单?开玩笑!

TimeFriends

8月月更

阿里云鲍文乐:基于事件的自动化运维最佳实践

阿里云弹性计算

事件 自动化运维 CloudOps

Kubernetes 云原生日志构建

CTO技术共享

开源 签约计划第三季 8月月更

悟了,应该都了解分布式架构下负载均衡器吧

知识浅谈

负载均衡 8月月更

五分钟给你的 gRPC 服务加上 HTTP 接口

万俊峰Kevin

Go 微服务 gRPC web开发 go-zero

【精通内核】汇编下的C语言

小明Java问道之路

指针 C语言 结构体 汇编语言 8月月更

【精通内核】深入理解汇编语言

小明Java问道之路

指令集 寄存器 汇编语言 8月月更 机器语言

【LeetCode】课程表Java题解

Albert

LeetCode 8月月更

付费会员之我见(43/100)

hackstoic

商业模式

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