作过 Java
开发的同窗都知道,JVM(Java 虚拟机)
是 Java
实现的基础,虽然在平时工做中真正运用到的时候可能并很少,可是一个程序员想要上升到高级层次,那就必须知道 Java
究竟是怎么运行的,这就有必要去学习了解 JVM
的相关知识了。学习 JVM
能够能更深刻的理解 Java
这门语言,能够清楚知道Java程序是如何执行的以及为将来排查线上问题打下坚实的基础。接下来咱们看看 2020 年的 JVM
生态报告和最新趋势,值得咱们每一个 Java
开发者去关注了解。java
Oracle JDK
和 Open JDK
加起来占比将近 60%
,其中 Oracle JDK
占比略多一些,Oracle JDK
和 Open JDK
都是市场上的热门选择,咱们看看两者之间的一些差别。Oracle JDK
更多的关注稳定性,更适合企业级用户,而 Open JDK
相对而言没有那么稳定,它会常常发布一些新特性。Oracle JDK
支持长期发布的更改,而 Open JDK
仅支持计划和完成下一个发行版,还有一个就是 Oracle JDK
是根据 二进制代码许可协议 得到许可,而 Open JDK
是根据 GPL v2 许可得到许可。使用 Oracle
平台时会产生一些许可影响。如 Oracle
宣布的那样,在没有商业许可的状况下,在 2019 年 1 月以后发布的 Oracle Java SE 8
的公开更新将没法用于商业,商业或生产用途。可是,Open JDK
是彻底开源的,能够自由使用。程序员
只有 9%
的用户表示愿意为 JDK
支付费用,还有 86%
的用户表示并不想为 JDK
支付费用,能够看出大部分用户其实对 JDK
的付费使用仍是不赞同的,目前来看,若是要真正实行付费模式仍是有点难。不过人们选择为 JDK
支付费用时,Oracle
仍是当之无愧的大赢家的。自从 JDK9
发布以后,之后每一年的 3 月和 9 月都会发布一个新的版本,这个发布节奏的改变,这个对许多用户的版本更新策略仍是有必定的影响。调查结果显示这个发布节奏的变动影响了三分之一的开发者们是否决定为其支付费用。web
从 Java 9
以后对 JDK
的结构作了很大的调整,这也是影响人们升级的缘由之一,根据报告结果来看 Java 8
仍然是你们使用最多的版本,可是在 2018 年 9 月发布了第一个 LTS(长期支持)
版的 Java 11
以后,有四分之一的开发者在生产环境中使用了 Java 11
。由于发布节奏的缘由,大部分开发者仍是不肯意每 6 个月就对版本进行一次更新,版本迁移成本其实也不低,还有新版本在生产环境的稳定性也是其中的一个考虑因素。spring
在 JVM
类语言语言中 Java
占比 86.9%
稳居第一,除了 Java
语言以外,Kotlin
语言在 JVM
类语言占比第二占比 5.5%
,Kotlin
从去年的 2.4%
增长到今年的 5.5%
,JVM
类语言的用户中 Kotlin
使用率的增加,由于它能够与 Java
无缝集成也不足为奇,像在 Spring Boot
框架中使用 Kotlin
进行开发也很容易。Kotlin
也一直在创新,积极拥抱 Java
的大腿,在 Java
的新版本中也在试图整合一些 Kotlin
的概念。服务器
有十分之六的开发者依赖 Spring
框架来构建他们的程序,这对于众多的第三方开源框架来讲,这是一个很高的占比,Spring Framework
依然是 Java
开发框架中的王者,Spring
框架已经发布了很长一段时间了,经过长时间的改进和创新,无疑 Spring
如今已经成为 Java
生态系统中的最重要的框架。在众多的使用者中有将近三分之二的用户使用 Spring 5
,可见你们对 Spring
框架的新版使用率仍是很高的。架构
服务器端依然是 Spring
的天下,其中有一半的人使用的是 Spring Boot
框架,还有将近的三分之一的人使用的是 Spring MVC
框架,前几年比较火的 Struts
框架已经开始没落了,这个占比和如今市场上比较流行微服务架构是分不开,由于 Spring Boot
框架天生就是为微服务而生的,它能够快速实现微服务。使用基于 Spring Boot
的 Spring Cloud
框架能够快速搭建一个分布式的服务或应用。框架
IntelliJ IDEA
是 Java
开发者们使用最普遍的开发工具,调查结果显示有 62%
的开发人员使用社区免费版和付费终极版。Apache NetBeans
以 10%
的市场份额保持在第三位,和去年的调查结果一致。能够发现被业界普遍称赞的 VS Code
神级编辑器在 Java
开发人员中并无想象的那么受欢迎。jvm
Maven
是一个软件项目管理和自动构建的工具,由 Apache 基金会
维护。它基于项目对象模型(POM)概念,Maven
利用一个中央信息片段能管理一个项目的构建、报告和文档等步骤。调查结果显示它在排名还是第一,一直都是主流的项目构建工具,排名第二的 Gradle
一直保持着增加的趋势,在 2019 年占比达到四分之一,而在 2012 年占比高达 40%
的老牌的构建工具 Ant
将逐渐退出舞台,到 2019 年占比不到 10%
。能够明确的是,构建工具之间的竞争从不会中止,可否及时更新发布一些能够解决使用者痛点的工具是你们选择的因素之一。编辑器
和咱们大多数 Java
开发人员的指望一致,Jenkins
以高达 58%
的占比排名稳居第一,排名第二的 GitLab
占比仅为 6%
,有趣的是没有使用工具的也高达 12%
,虽然不适用工具的人数占比比去年低了不少,可是这个占比仍是让人有点儿惊讶。分布式
JVM
获取 2020 年
JVM
生态报告
PDF
版原文。