【方向盘】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 源代码库 大多数专栏均配有源代码,都在这里

在这里插入图片描述

目录
相关文章
|
14天前
|
存储 Java
深入理解Java虚拟机:JVM内存模型
【4月更文挑战第30天】本文将详细解析Java虚拟机(JVM)的内存模型,包括堆、栈、方法区等部分,并探讨它们在Java程序运行过程中的作用。通过对JVM内存模型的深入理解,可以帮助我们更好地编写高效的Java代码,避免内存溢出等问题。
|
3天前
|
移动开发 前端开发 NoSQL
ruoyi-nbcio从spring2.7.18升级springboot到3.1.7,java从java8升级到17(二)
ruoyi-nbcio从spring2.7.18升级springboot到3.1.7,java从java8升级到17(二)
43 0
|
3天前
|
移动开发 Oracle 前端开发
本地开发环境安装java8、java17与java21
本地开发环境安装java8、java17与java21
13 0
|
5天前
|
Java 索引
深入浅出JVM(五)之Java中方法调用
深入浅出JVM(五)之Java中方法调用
|
7天前
|
Java 编译器 对象存储
java一分钟之Java入门:认识JDK与JVM
【5月更文挑战第7天】本文介绍了Java编程的基础——JDK和JVM。JDK是包含编译器、运行时环境、类库等的开发工具包,而JVM是Java平台的核心,负责执行字节码并实现跨平台运行。常见问题包括版本不匹配、环境变量配置错误、内存溢出和线程死锁。解决办法包括选择合适JDK版本、正确配置环境变量、调整JVM内存参数和避免线程死锁。通过代码示例展示了JVM内存管理和基本Java程序结构,帮助初学者更好地理解JDK和JVM在Java编程中的作用。
20 0
|
7天前
|
存储 监控 安全
JVM工作原理与实战(十六):运行时数据区-Java虚拟机栈
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了运行时数据区、Java虚拟机栈等内容。
11 0
|
8天前
|
存储 缓存 安全
【 Java中String源码分析(JVM视角你不来看看?】
【 Java中String源码分析(JVM视角你不来看看?】
14 0
|
15天前
|
存储 机器学习/深度学习 Java
【Java探索之旅】数组使用 初探JVM内存布局
【Java探索之旅】数组使用 初探JVM内存布局
26 0
|
15天前
|
小程序 Java 程序员
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
28 0
|
17天前
|
安全 Java
【JAVA】Java8开始ConcurrentHashMap,为什么舍弃分段锁
【JAVA】Java8开始ConcurrentHashMap,为什么舍弃分段锁