【方向盘】2021年JVM生态报告:Java 11使用率超Java 8

简介: 有人说,Java不行了

在这里插入图片描述

Override : 即外壳不变,核心重写!
本文已被 https://yourbatman.cn收录; 女娲Knife-Initializr工程可公开访问啦;程序员专用网盘 https://wangpan.yourbatman.cn;技术专栏源代码大本营: https://github.com/yourbatman/tech-column-learning;公号后台回复“ 专栏列表”获取全部小而美的 原创技术专栏

你好,我是方向盘(YourBatman)

📚前言

有人说,Java不行了,Node将崛起;
有人说,Java不行了,Python将崛起;
有人说,Java不行了,Kotlin将崛起;
有人说,Java不行了,Golang将崛起;

那么Java到底行不行呢?还得市场说了算,说到这个市场,那就不得不关注每年的JVM生态报告了,看透这一切。本文分享是2021年的生态报告,显然是迟到了的,所以可能你已经阅读过。
在这里插入图片描述
什么是Java?什么是JVM?

Java是一门语言,JVM是一个生态;Java是跨平台的语言,JVM是跨语言的平台。

当下,有越来越多的语言选择JVM作为平台。比较知名的有:KotlinScalaGroovy,还有Ceylon、Xtend、Clojure、Fantom等。

🚩所属专栏

🚩相关下载

🚩版本约定

  • 2021年JVM生态报告

✍正文

作为一名Javaer,除了埋头搞好技术本身的应用外,还得抬头看看路。比如Java版本的发布、Java EE版本的迭代、Spring One大会、JVM生态报告等。
在这里插入图片描述
在进行2021年生态报告之前,先简单回顾下2020年的JVM生态报告。

🌈2020年回顾

2020年JVM生态报告旨在了解JDK的实现、工具、平台和应用方面的前景。调查了全球各个大洲的开发者、架构师和团队负责人等,最终总结得出如下几方面的信息。

🚀Oracle JDK在逐渐失去垄断地位

Oracle JDK去年使用率还在70%以上,今年骤降至30%多,但仍旧是第一名。
在这里插入图片描述

🚀JDK 8依旧绝对的主流

当前的市占率为60%+,要知道这个数值去年是79%呢。JDK 11开始崭露头角,已占据25%份额。
在这里插入图片描述

🚀JVM平台第二语言:Kotlin

在JVM平台,Java依旧具备统治地位。Kotlin持续增长,从去年的2.4%增长到今年的5.5%。
在这里插入图片描述

🚀前端框架最火的不是VUE

前端领域,全球使用最多的框架依旧是Angular,Vue 的使用率只有11%,国内人普遍使用,国外人还是首选Angular

另外,在前端框架中,jQuery依然宝刀未老,占有28%的使用率,着实不低。
在这里插入图片描述

🚀IDE霸主:IntelliJ IDEA

虽然Eclipse免费,但完全打不赢IntelliJ IDEA,即使它收费。去年Eclipse还有38%的份额呢,今年为20%,在可预见的将来,你懂的。

另外,IDEA的付费率竟然超过80%。可想而知,若IDEA免费,其它IDE基本没有活路了。
在这里插入图片描述

🚀三大构建工具:Maven依旧遥遥领先

Maven是绝对主流,Gradle逐年上涨,Ant注定慢慢退出历史舞台。
在这里插入图片描述

🚀持续集成:Jenkins一骑绝尘

Jenkins在CI方面的市占率高达近6成,第二名的竟然是None(不用继续集成),然后是Gitlab。

可以看到,和Jenkins同源的Hudson市场份额已越来越低

在这里插入图片描述

🚀代码托管:Git独大

这块的竟然还是蛮激烈的。

  • GitLab作为私有存储库非常流行,并且还有CI/CD、CR功能,做得也还不错
  • GitHub作为公有代码托管平台非常成功,最后被微软已75亿美金收入囊中
  • BitBucket国内很少听闻,但它出品的SourceTree客户端很多人都用过

在全球范围,这三个的市场份额相差都不太大,可谓竞争激烈。但是,他们底层都是Git托管系统,发现没,完全没见SVN的踪影。在这里插入图片描述

🌈2021年JVM生态报告

本报告介绍了关于JVM生态系统状况的最大年度调查的结果。该调查在2021年2月和3月的六周内进行,收集了超过2000名Java开发者的回答。

2021年JVM生态报告的主题是:Java 生态系统的当前状态是什么,开发人员正在使用什么。同样通过抽样收集、统计的方式得出报告。

🚀Open JDK强势崛起

44%的生产中使用免费的AdoptOpenJDK发行版,占据主流。然而可以看到,Oracle依旧占有举足轻重的地位:28%使用它们的OpenJDK,另有23%使用它们的商业付费版本。

Tips:Oracle于2019年4月16号宣布JDK开始 商用收费。JDK从8u211版本开始商用收费。

在这里插入图片描述

🚀Java 11使用率超Java 8

那句“你发任你发,我用Java 8”即将成为过去式。超过6成在生产已使用Java 11,这个使用率略高于钉子户Java 8。
在这里插入图片描述

🚀Kotlin依旧是JVM平台第二语言

过去几年里,JVM平台的语言种类在不断增加。但Java的优势异常明显,遥遥领先。然而可以看见Kotlin正变得越来越流行,使用它的人也不在少数。
在这里插入图片描述

🚀超7成JVM开发者使用IntelliJ IDEA

多年来,我们肉眼可见的看到JetBrains公司的IntelliJ IDEA在Java生态系统中的主导地位,今年自然也不例外。

另外还有个有意思的点是,不少人会同时使用多款IDE。
在这里插入图片描述

🚀构建工具Maven稳居首位

Maven仍然是Java生态系统的头号构建工具,Gradle则稳居第二,使用人数高于去年。
在这里插入图片描述

🚀Spring框架在Java呈垄断态势

在Java的世界里,如果不在使用Spring Boot,就是在使用Spring MVC。Spring家族占据着绝对统治的统治地位,综合计算超8成应用使用了它,而这个比例在国内近乎100%。

总的来讲,对于一个Javaer不懂Spring就基本等同于不会Java,足矣见其地位之高。
在这里插入图片描述

🚀本报告的人员分布

从人员统计上看,北美人占大多数,这个趋势和过去几年一样。好的现象是,全球各地的开发者都在开始逐渐回应,参与到报告中。
在这里插入图片描述

🚀本报告的职位分布

作为技术报告嘛,绝大多数受访者来自于技术背景。超过一半是软件开发人员,还有一些组长、中层领导、会C语言的人。。。
在这里插入图片描述

🍞总结

通过最近两年的JVM生态报告,可以看到一些发展趋势,作为我们学习的引导。

此时此刻已是2022年,期待今年的JVM生态报告,再与你分享,回见。

本专栏上下文

推荐阅读

在这里插入图片描述

我是方向盘(YourBatman):前25年不会写Hallo World、早已毕业的大龄程序员。高中时期《梦幻西游》骨灰玩家,网瘾失足、清考、延期毕业、房产中介、保险销售、送外卖...是我不可抹灭的黑标签

  • 🎓2013.07 清考、毕业答辩3次未通过、延期毕业
  • 🏷2013.08-2014.07 宁夏中介公司卖二手房1年,毕业后第1份工作
  • ️️🏷2014.07-2015.05 荆州/武汉,泰康人寿卖保险3月、饿了么送外卖2月,还有炸鸡排、直销等第2345份工作
  • 🏷2015.08 开始从事Java开发,闯过外包,呆过大厂!擅长抽象思维,任基础架构团队负责人
  • 🏷2021.08 因“双减政策”失业!历经9面,终获美团外卖L8的offer
  • 🙅🏻‍♀️Java架构师、Spring开源贡献者、CSDN博客之星年度Top 10、领域建模专家、写作大赛1/2届评委
  • 📚高质量代码、规范践行者;DDD领域驱动深度实践;即将出版书籍《Spring奇淫巧技》

在这里插入图片描述

序号 专栏名称 简介
01 【方向盘】-程序人生 程序人生,人生程序
02 【方向盘】-资讯/新特性 IDEA、JDK、Spring技术栈......新特性
03 【方向盘】-IntelliJ IDEA 熟练使用IDEA就相当拥有物理外挂,助你高效编码
04 【方向盘】-Bean Validation 熟练掌握数据校验,减少90%的垃圾代码
05 【方向盘】-日期时间 帮你解决JDK Date、JSR 310日期/其实 的一切问题
06 【方向盘】-Spring类型转换 Spring类型转换-框架设计的基石
07 【方向盘】-Spring static static关键字在Spring里的应用
08 【方向盘】-Cors跨域 关于跨域请求问题,本专栏足矣
09 【方向盘】-Jackson Almost Maybe是最好的Jackson专栏
10 【方向盘】-Spring配置类 专讲@Configuration配置类,你懂的
11 【方向盘】-Spring技术栈 暂无所属小分类的,Spring技术栈大分类
12 【方向盘】-JDK 暂无所属小分类的,JDK技术栈大分类
13 【方向盘】-Servlet Servlet规范、Web相关内容专题
14 【方向盘】-Java EE 从Java EE到Jakarta EE,30年弹指一挥间
15 【方向盘】-工具/提效 开发工具、软件工具,目标是提效
16 【方向盘】-Spring技术栈新特性 Spring Framework、Spring Boot、Spring Cloud、Spring其它技术
17 【方向盘】-Spring技术栈新特性 每个Javaer,都需要有扎实的基本功
... ... ...
99 源代码库 大多数专栏均配有源代码,都在这里

在这里插入图片描述

目录
相关文章
|
10月前
|
监控 Java Unix
6个Java 工具,轻松分析定位 JVM 问题 !
本文介绍了如何使用 JDK 自带工具查看和分析 JVM 的运行情况。通过编写一段测试代码(启动 10 个死循环线程,分配大量内存),结合常用工具如 `jps`、`jinfo`、`jstat`、`jstack`、`jvisualvm` 和 `jcmd` 等,详细展示了 JVM 参数配置、内存使用、线程状态及 GC 情况的监控方法。同时指出了一些常见问题,例如参数设置错误导致的内存异常,并通过实例说明了如何排查和解决。最后附上了官方文档链接,方便进一步学习。
1522 4
|
6月前
|
安全 Oracle Java
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
455 0
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
|
监控 算法 Java
Java虚拟机(JVM)垃圾回收机制深度剖析与优化策略####
本文作为一篇技术性文章,深入探讨了Java虚拟机(JVM)中垃圾回收的工作原理,详细分析了标记-清除、复制算法、标记-压缩及分代收集等主流垃圾回收算法的特点和适用场景。通过实际案例,展示了不同GC(Garbage Collector)算法在应用中的表现差异,并针对大型应用提出了一系列优化策略,包括选择合适的GC算法、调整堆内存大小、并行与并发GC调优等,旨在帮助开发者更好地理解和优化Java应用的性能。 ####
362 27
|
监控 算法 Java
Java虚拟机(JVM)的垃圾回收机制深度解析####
本文深入探讨了Java虚拟机(JVM)的垃圾回收机制,旨在揭示其背后的工作原理与优化策略。我们将从垃圾回收的基本概念入手,逐步剖析标记-清除、复制算法、标记-整理等主流垃圾回收算法的原理与实现细节。通过对比不同算法的优缺点及适用场景,为开发者提供优化Java应用性能与内存管理的实践指南。 ####
|
9月前
|
存储 监控 算法
Java程序员必学:JVM架构完全解读
Java 虚拟机(JVM)是 Java 编程的核心,深入理解其架构对开发者意义重大。本文详细解读 JVM 架构,涵盖类加载器子系统、运行时数据区等核心组件,剖析类加载机制,包括加载阶段、双亲委派模型等内容。阐述内存管理原理,介绍垃圾回收算法与常见回收器,并结合案例讲解调优策略。还分享 JVM 性能瓶颈识别与调优方法,分析 Java 语言特性对性能的影响,给出数据结构选择、I/O 操作及并发同步处理的优化技巧,同时探讨 JVM 安全模型与错误处理机制,助力开发者提升编程能力与程序性能。
Java程序员必学:JVM架构完全解读
|
7月前
|
存储 运维 Kubernetes
Java启动参数JVM_OPTS="-Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError"
本文介绍了Java虚拟机(JVM)常用启动参数配置,包括设置初始堆内存(-Xms512m)、最大堆内存(-Xmx1024m)及内存溢出时生成堆转储文件(-XX:+HeapDumpOnOutOfMemoryError),用于性能调优与故障排查。
667 0
|
11月前
|
存储 缓存 算法
JVM简介—1.Java内存区域
本文详细介绍了Java虚拟机运行时数据区的各个方面,包括其定义、类型(如程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区和直接内存)及其作用。文中还探讨了各版本内存区域的变化、直接内存的使用、从线程角度分析Java内存区域、堆与栈的区别、对象创建步骤、对象内存布局及访问定位,并通过实例说明了常见内存溢出问题的原因和表现形式。这些内容帮助开发者深入理解Java内存管理机制,优化应用程序性能并解决潜在的内存问题。
544 29
JVM简介—1.Java内存区域
|
存储 监控 算法
深入探索Java虚拟机(JVM)的内存管理机制
本文旨在为读者提供对Java虚拟机(JVM)内存管理机制的深入理解。通过详细解析JVM的内存结构、垃圾回收算法以及性能优化策略,本文不仅揭示了Java程序高效运行背后的原理,还为开发者提供了优化应用程序性能的实用技巧。不同于常规摘要仅概述文章大意,本文摘要将简要介绍JVM内存管理的关键点,为读者提供一个清晰的学习路线图。
|
机器学习/深度学习 监控 算法
Java虚拟机(JVM)的垃圾回收机制深度剖析####
本文深入探讨Java虚拟机(JVM)的垃圾回收机制,揭示其工作原理、常见算法、性能调优策略及未来趋势。通过实例解析,为开发者提供优化Java应用性能的思路与方法。 ####
334 28
|
存储 监控 算法
Java JVM 面试题
Java JVM(虚拟机)相关基础面试题
308 4