Java 8 八年不倒、IntelliJ IDEA 力压 Eclipse,2022 年 Java 开发者都在用什么?
整理 | 苏宓
出品 | CSDN(ID:CSDNnews)
技术更新迭代的速度,让很多开发者被动地开启了奋起直追的模式。但是在某些领域或技术层面,也永远不要小看技术人的「念旧」情结,譬如 2009 年发布的 Windows 7、2014 年发布的 Java 8 在当前技术圈中仍占据不小的份额。
近日,美国软件开发商 Perforce Software 旗下的 JRebel 品牌在对近千名专业的 Java 开发者调研后,重磅发布了《2022 年 Java 开发者生产力报告》。据调查显示,我们有以下最新发现:
八年前发布的 Java 8 依然是 Java 中应用最广泛的版本,占比 37%,其次是 Java 11;
Oracle 的 Java 发行版最受欢迎(36%),其次 27% 受访者使用通用OpenJDK Java。
Docker 是最常见的虚拟机平台,41% 的开发者使用它。26% 的受访者使用 Kubernetes,其次是 VMware,占 16%。
Apache Tomcat 是迄今为止最受欢迎的 Java 应用程序服务器,使用率为48%,其次是 JBoss / Wildfly,占 15%。
JetBrains 的 IntelliJ 是最受欢迎的 Java IDE,占 48%,其次是 Eclipse,占 24%,Visual Studio Code 占 18%。
Java 开发趋势:Java 8 最受欢迎,Java 17 奋起直追
众所周知,Java 8(2014 年 3 月发布)和 Java 11(2018 年 9 月发布)都是长期支持 (LTS) 版本,它们获得了 Oracle 几年的产品支持。对于一些如 Java 9、Java 10、Java 12 到 Java 15 的非 LTS 版本,Oracle 只提供六个月的支持。
八年前发布的 Java 8 依然最流行
因此,当被问及在主要应用程序员中使用哪种 JDK 时, 有 37% 的受访者回答了 Java 8,其次 29% 的开发者在使用 Java 11。另外,有 8% 的开发者使用了与 JVM 兼容的 Kotlin,6% 的受访者使用 Groovy 和 Scala 占比 3%。
当进一步了解使用 Java 不同版本背后的公司规模时,我们发现 Java 8 在 100 人以下的公司中使用率要稍低一些,和往年相对比,Java 11 及以上版本使用率有所增加,占比 30%。
与此形成对比的是,拥有 100 名以上员工的公司应用 Java 8 要更多一些,占比 39%。究其原因,主要是因为大厂在生产环境中接受新版 Java 非常困难,有时并不是改几行代码就能解决的事情,测试、迁移、兼容性等都是需要解决的问题,况且很多系统并不会为了单纯的 JDK 升级而升级。
为什么很多开发者选择更换 Java 版本?
这不,也正如调查数据显示,有 25% 的开发者表示长期支持是升级 JDK 最主要的原因。
除了 LTS 之外,安全和性能是最主要的因素,分别为 23% 和 20%。
不过,近几年,随着 Oracle 将 Java 的更新频率改变,很多大小公司并不会太着急选择将 Java 版本升级,大概率会跟着 LTS 版本走。
37% 开发者计划未来六个月升级到 JDK 17,小公司速度更快
当提及大家还要在 Java 8 版本上坚持多久,才会去应用最新版本 Java 17 ?
近四成开发者表示计划在未来 6 个月内升级到 JDK 17,25% 计划在未来 6-12 月内升级。不过,也有 8% 的受访者称不打算升级到 JDK 17。
其中,根据调研数据显示,来自较小公司(100人以下)的受访者了选择采用 JDK 17 的意愿更为强烈,44% 的人计划在未来 6 个月内升级到 JDK 17。规模较大的公司(超过100人)的受访者需求就没有那么强,有 38% 的受访者计划在未来 12 个月后的某个时间升级。
毋庸置疑,LTS JDK 版本相较非 LTS 版本具有更强的吸引力。不过和上一个 LTS 版本的 Java 8 相比,Java 17 的发展势头更迅猛。
Oracle JDK 即使收费,也是开发者最常用的 JRE/JDK 发行版
2019 年 4 月,Oracle 宣布 Oracle JDK 开启商用收费模式。不过,在今年受访者群体中,Oracle Java 依然是开发者首选的发行版,占 36%。现实来看,这一点也不足为奇,毕竟 Oracle Java 这样的商业发行版可以为大企业提供更为可靠的补丁和更新等服务,由此也让许多大型企业减少内部成本。
Generic OpenJDK 和 AdoptOpenJDK/Adoptium 分列二三位,占比 27% 和 16%。
Java 应用程序架构趋势:微服务是当之无愧的 NO.1
据调查显示,在开发应用程序所采用的架构中,微服务最受欢迎,占比 32%。其次单片机应用程序占 22%。
有趣的是,大型企业(100 名以上员工)对微服务的采用率为 36%,这与小型企业(100名以下员工)的 28% 形成鲜明对比。
近九成开发者正在使用微服务
当问及开发者对微服务的使用状况时,我们发现大多数组织或团队要么拥有完全基于微服务的应用,要么目前正在向微服务架构过渡,这一比例高达 88%。
Java 技术趋势:Docker、Apache Tomcat 最受开发者欢迎
今年,JRebel 也对虚拟机、框架、云平台、构建工具和 IDE 的使用情况做了进一步的调研,发现在一些流行的虚拟机和容器等平台中,Docker 的热度居高不下,占比 41%,远超位居第二的 Kubernetes(26%)。VMWare 排在第三位,占16%。
Java PaaS 供应商
AWS 是最受欢迎的 PaaS 供应商,占比 31%。那些不使用 PaaS 的受访者以 24% 的比例位居第二。Azure 是第三位最受欢迎的,占 14%。
应用服务器
与往年一样,Apache Tomcat 是程序员最喜欢的 Java 应用服务器,占比 48%。其次分别为 JBoss/Wildfly(15%)、Jetty(13%)。
构建工具
在构建工具层面,Maven 使用率最高,占 68%,比去年的使用率增长了一些。
与小型公司相比,大型公司对 Maven 使用率更高,占比 71%,而小型公司只有 65%。
Java IDEs
在 2022 年,IntelliJ IDEA 再次成为开发 Java 应用程序时最受欢迎的 IDE,48% 的受访者选择它作为他们的 IDE。Eclipse 位居第二,占比 24% 。其次分别为 VSCode(18%)和 Netbeans(6%)。
整体而言,后来者 VSCode 在竞争激烈的 Java 集成开发环境中逐渐站稳了脚跟。或许很多时候,不少开发者会将其和 IntelliJ 等主流 IDE 同时使用,但一定程度上,它正在蚕食 Eclipse 的市场份额。
CI/CD 技术趋势
CI/CD、DevOps 方法和工具的实施是企业应用 Java 过程中不可缺少的一部分。根据调查报告显示,和去年一样,Jenkins 是最受欢迎的选择,占比 46%。GitHub Actions 排在第二位,占 16%。
在 CI/CD 构建时间上,较小的组织(100名员工以下)的受访者表示不会花费太久的时间,其中 58% 的受访者表示 CI/CD 构建的时间控制在 5 分钟以下。与之形成对比的是,大型组织(超过 100名员工)的这一比率缩减到 42%,且 40% 使用了超过十分钟的时间。
CI/CD 提交频率
与去年类似,大多数受访者表示,他们每天至少提交五次代码。
以上是你的真实现状吗?欢迎留言,分享你在 Java 应用过程中的想法。
更多报告内容见:https://www.jrebel.com/resources/java-developer-productivity-report-2021
—END—
Java 8 八年不倒、IntelliJ IDEA 力压 Eclipse,2022 年 Java 开发者都在用什么?相关推荐
- Java 8 八年不倒、IntelliJ IDEA 力压 Eclipse
整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 技术更新迭代的速度,让很多开发者被动地开启了奋起直追的模式.但是在某些领域或技术层面,也永远不要小看技术人的「念旧」情结,譬如 2009 ...
- IntelliJ IDEA快速入门 | 第二十八篇:详述IntelliJ IDEA(或者Eclipse)中一些常用的快捷键(下)
由于IntelliJ IDEA(或者Eclipse)中常用的快捷键比较多,所以这里我就分两篇文章来给大家进行讲述了,这是第二篇. F2:查看文档说明 如果咱们现在想查看一下System类的文档说明,那 ...
- java opencv 开发环境_在IntelliJ IDEA 13中配置OpenCV的Java开发环境
准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...
- 启动eclipse出现“A Java Runtime Environment (JRE) or Java Development Kit (JDK)must be available”错误处理
今天第一次使用eclipse开发工具,打开时报以下错误: A Java Runtime Environment (JRE) or Java Development Kit(JDK) must be a ...
- IntelliJ IDEA 2018.2 发布,支持 Java 11
转载自 IntelliJ IDEA 2018.2 发布,支持 Java 11 近期,JetBrains发布了其旗舰产品IntelliJ IDEA的2018.2版本.新版本支持即将推出的Java 1 ...
- IntelliJ IDEA 运行你的第一个Java应用程序
IntelliJ IDEA 运行你的第一个Java应用程序 创建项目让我们创建一个简单的Java Hello World项目. 单击创建新的项目. 打开新建项目向导. 你应该注意的主要是项目的SDK. ...
- Java第八次实验要求
实验八 GUI 一. 实验目的 1. 掌握Java语言中窗体的基本用法: 2. 掌握Java语言中窗体控件的基本用法: 3. 掌握Java语言中窗体事件.监听器的基本概念,及其使用方法: 4. 掌握线 ...
- 2022全新Java学习路线图动力节点(八)Java选学的技术有哪些?
八.失落之地的辉煌 这里曾经繁华一片,被世人称作福光,搁在古老的东方就叫洞天福地!但现在一切都烟消云散,一场魔法灾难让此地化作焦土,沦为人间炼狱.此地长年被黑暗浓雾笼罩,即便世界被同化之后也没能改变土 ...
- java的八种基本数据类型
一.写在前面 为什么要记录这个随笔呢,主要是因为老是把short类型遗忘. 二.Java的八种基本数据类型 1.四种整数类型(byte.short.int.long): byte:8位.有符号.最小值 ...
最新文章
- 这65条工作和成长建议,你将受用终生!
- WPF定时刷新UI界面
- 基于事件驱动架构构建微服务第3部分:Presenters, Views和Controllers
- tensorflow基础:tf.data.Dataset.from_tensor_slices() 与 tf.data.Dataset.from_generator()的异同
- oracle drop purge
- mac安装helm工具_适用于初学者的基本 kubectl 和 Helm 命令
- 数学问题(二):质数、质因子
- 敏感词过滤/字符编码
- MATLAB和C语言的区别
- linux登陆命令行,如何使用linux命令行登陆
- php html5聊天室源码,Grupo Pro v2 - PHP聊天室源码
- mysql红黑联盟_MySQL在Centos的卸载和安装 - MySQL - 红黑联盟
- BLE Mesh (9) —— Mesh beacons
- linux ping加网址,在运行里输入PING加网址是什么意思
- 100W个微信红包封面,人人都能领取到!!!
- keil C语言编程 位地址定义,Keil C编写下位机程序的小技巧和注意点
- CE简单修改演示(植物大战僵尸)
- excel波士顿矩阵怎么做_excel矩阵图怎么做
- 什么是html的语义化?
- 视频教程-python全栈习题课-Python
热门文章
- 【Qt串口调试助手】1.4 - 16进制接收/发送
- C++的堆与拷贝构造函数
- leetcode932.BeautifulArray
- 正则表达式应用笔记----解析网页,获取并显示“未来三天全国天气预报”(java)...
- VC2008中使用GDI+(转)
- 关于layui.laypage.render 刷新首页没有分页问题
- POJ1062昂贵的聘礼(经典) 枚举区间 +【Dijkstra】
- Centos下telnet的安装和配置
- 一个前端博客(9)——浏览器检测和加载
- Office 2016 (Preview)