Java老矣,尚能饭否?2020 Java生态系统报告出炉

最近,Jrebel公布了一份2020 Java生态系统报告,这份报告主要关注开发人员在开发过程中使用的技术。

这份报告包含了技术人员正在用的编程语言、应用程序架构、应用服务器、运行时平台、框架技术、IDE、JRE/JDK版本、数据库、部署模型、构建工具和虚拟化工具等。

小编整理了这份报告(报告地址:https://www.jrebel.com/blog/2020-java-technology-report),为你分析得出以下结论。

Java 8使用者最多

58%的受访者表示,他们在主要应用程序中选择使用Java 8作为编程语言。其次是Java 11,占受访者的23%。之所这两个版本比较受欢迎,很大程度是因为他们是Oracle宣布长期支持的两个版本。

值得注意的是,还有7%的受访者仍然在使用Java 7或更早的版本。

只有6%的受访者使用Java 12或更新。

Kotlin和JavaScript的使用率最低,分别为3%和2%。

Tomcat 仍然是最热门的应用服务器

调查结果显示,有超过半数的开发者们使用的主要的应用服务器还是Tomcat,占比61%,是第二名Jetty的5倍。


SpringBoot 无竞争对手

Spring Boot多年来一直是首选的Java框架。这很大程度上得益于最近几年微服务的流行。占比82%的用户选择使用SpringBoot,可以说,目前所有其他的运行时平台都是弟弟!

框架使用仍是重点

86%的受访者使用Spring, 51%的受访者使用Hibernate、OpenJPA或EclipseLink等持久化技术。27%的报告使用了服务器端呈现技术,如JSP、JSF、Thymeleaf、FreeMarker或GWT。

26%的报告使用JAX-RS或JAX-WS技术,如Jersey、RESTEasy、CXF或Axis。

对于反应式编程框架,11%的受访者表示使用了Vert等技术。


注解多于xml配置

对于框架配置上,大多数人都是使用注解或者xml配置,这二者的比例相差不多。

其中使用注解的用户占比67.92%,使用xml配置的占比67.17%,但是相信未来这个差距会越来越大。

Intellij IDEA 击败 Eclipse

在使用的IDE方面,82%的受访者使用IntelliJ IDEA,很明显,这个付费IDE非常值得一试,当然社区版也是很不错的。

排名第二的是老牌IDE的是Eclipse,占24%。

这二者目前在国内都有很多人使用,在小编所在的公司,还是IDEA的使用者多于Eclipse的。不知道你在使用哪个呢?

PostgreSQL 和Oracle数据库更受欢迎

被问及使用最多的数据库是哪个,得到的答案是最受欢迎的是PostgreSQL (47%), Oracle DB紧随其后(42%)。其次是MySQL, 28%的受访者报告使用情况。MongoDB排名第四,有12%的受访者。


是时候换Gradle了?

对于构建工具,不出所料,Maven和Gradle是最常用的工具。

调查发现,47%的受访者使用Gradle作为其主要应用程序的构建工具,44%的受访者使用Maven。

Gradle超过Maven也许是因为它更受广大移动开发领域的开发者的青睐。

Docker与K8S争霸

开发人员使用哪些虚拟化工具?

最常用的工具是Docker,占74%。Kubernetes是第二大最受欢迎的虚拟化工具,占35%,这显示了Kubernetes在过去几年的持续增长。

随着Kubernetes的成长,相信未来几年,它就可以在市场中占据主导。

微服务改变了技术圈

通过这份报告,我们可以看到结果在很大程度上收到了微服务应用的影响。

而且,随着越来越多的公司将继续过渡到并创建基于微服务的应用程序,相信未来技术人员的技术选型上和微服务有关的技术将会更受欢迎!

以上,这份国外出炉的报告,你认为适合中国国情吗?如果是你,你都将怎样选择呢?

CSDNx巨杉大学联合认证学习,免费开放!“分布式数据库集训营”帮助您从零开始学习分布式数据库、分布式架构知识,现在加入活动,完成课程还将专属礼品。快来参加吧~

了解详情:http://www.sequoiadb.com/cn/university-camp

推荐阅读:一文读懂Docker及其对系统管理员的重要性
别再用那些已经淘汰的技术了!2020 年 9 大顶级 Java 框架出炉!!
25 岁的老 Delphi,还值得程序员入手吗?
CNN vs RNN vs ANN——3种神经网络分析模型,你pick谁?
“不让一块芯片流向华为”?
男性玩家占78.8%、90后玩家占近50%、最多人选择中国风链游……《2019链游玩家需求调研报告》重磅发布!
真香,朕在看了!点击“阅读原文”,即可报名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI评委引热议,阿里巴巴表示:AI不会取代工程师

昨日,一位能给工程师代码打分的“AI评委”引发了热议。起因是在2019阿里巴巴“83行代码挑战赛”决赛现场,一位运行在云端的AI评委和现场的专家评委、大众评委配合,一起对选手提交的的代码做综合评价。 “AI是否会取代工程师”的话题再次在网络…

windows2012运行linux,Linux一分钟部署完毕上线运行,windows server你要折磨我两天?...

原标题:Linux一分钟部署完毕上线运行,windows server你要折磨我两天?周四晚上好,各位~~经过数度折腾之后,终于对windows累觉不爱了。且不说点点点的弊端,浪费鼠标左右键的机械力,还有无数个需要…

使用DataWorks来调度AnalyticDB任务

DataWorks作为阿里云上广受欢迎的大数据开发调度服务,最近加入了对于AnalyticDB的支持,意味着所有的AnalyticDB客户可以获得任务开发、任务依赖关系管理、任务调度、任务运维等等全方位强大的能力,现在就给大家仔细介绍下如何使用DataWorks来…

稳定、可扩展、模块化、简化部署过程、版本控制……一文看懂 Kubernetes 到底如何运用!...

来源 | Daniele Fontani编译 | 火火酱,责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)说实话,我是个Kubernetes爱好者。Kubernetes是软件开发的重要一步。当我遇到它时,我就想:“这就是将容器融入…

提升不止一点点,Dubbo 3.0 预览版详细解读

Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业。更多用户信息,可以访问Dubbo GitHub,issue#1012: Wanted: whos usi…

Jenkins Tutorial

什么是Jenkins Jenkins是一个自动化平台,它允许你使用pipelines去部署应用。它也可以自动化其他任务。 BUILDTESTDEPLOYMENT Jenkins 架构 首先,你拥有一个Master Server,它控制pipelines和安排Build到你的Agent上; 其次&…

阿里云首次在ASPLOS'19发布重磅论文:揭秘帮助ECS快速迭代的热升级技术

第24届ACM编程语言和操作系统(ASPLOS19),于2019年4月13日至17日,在普罗维登斯召开,阿里云高级技术专家郑晓代表团队在会上发表了技术报告。 论文主题为《Fast and Scalable VMM Live Upgrade in Large Cloud Infrastr…

痛!做C#半年,挣的不如做AI1个月?”看到第二句泪目……

前段时间在网上发现一个热门话题:“做开发一年,在北京月薪不到1万,有点迷茫。” 其中,这个回答我永远忘不了:来源:库库的派派知乎回答,已取得授权在这短短的一条信息里,小编佩服不…

联想电脑u盘安装Linux,如何使用u盘安装linux系统

ps: 请注意,硬盘不是软盘7. 选择您的U盘作为硬盘驱动器,然后写入usb hdd 8. 点击[写]三,安装系统1. 将U盘插入计算机2. 启动计算机并按住[F2]进入BIOS以修改第一个启动项3. 选择U盘后,跳转到以下界面4. 按键盘键进入第二个“测试…

源码|详解分布式事务之 Seata-Client 原理及流程

前言 在分布式系统中,分布式事务是一个必须要解决的问题,目前使用较多的是最终一致性方案。自年初阿里开源了Fescar(四月初更名为Seata)后,该项目受到了极大的关注,目前已接近 8000 Star。Seata 以高性能和…

SonarQube中配置c语言/c++语言代码规则插件

文章目录一、下载安装重新启动1. 下载文件2.安装3. 重新启动SonarQube4. SonarQube管控台验证二、SonarQube管控台配置2.1. 创建配置模板2.2. 添加规则2.3. 查看配置模板规则列表2.4. 修改默认语言规则应用2.5. C配置流程同上我是java出身,因为特殊需要,要用sonarqube做一套c代…

从虚拟化前端Bug学习分析Kernel Dump

前言 也许大家都知道,分析 Kernel Dump 有个常用的工具叫 Crash,在我刚开始学习分析 Kernel Dump 的时候,总是花大量的时间折腾这个工具的用法,却总是记不住这个工具的功能。后来有一次在参加某次内部分享的时候,有位…

Apache Shiro RememberMe 1.2.4 反序列化过程命令执行漏洞【原理扫描】

文章目录一、分析定位1. 漏洞描述2. 项目引发漏洞简述二、 若依系统2.1. 版本升级2.2. 配置文件2.3. 推荐做法2.4. 栗子2.5. 项目场景三、Gus系统3.1. shiro版本升级3.2. 调用重新生成3.3. 生成工具类shiro漏洞补充:一、分析定位 1. 漏洞描述 目前厂商已经发布了新…

Linux系统json文件打中文,如何在 Linux 终端上漂亮地打印 JSON 文件

JSON 文件非常棒,因为它们以人类可读的格式存储数据集合。然而,如果 JSON 文件被最小化过,那么阅读 JSON 文件可能会很痛苦。• 来源:linux.cn • 作者:Abhishek Prakash • 译者:geekpi •(本文字数&#…

超级干货!31 条2020 年最新版 ZooKeeper面试题,先收藏再看!| 博文精选

作者| ThinkWon责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)金三银四,虽然受疫情影响,大多数企业还未正式复工,但没有条件,创造条件也要上,许多企业已经开始物色合适的人才了&#…

Node.js 应用故障排查手册 —— 雪崩型内存泄漏问题

楔子 实践篇一中我们也看到了一个比较典型的由于开发者不当使用第三方库,而且在配置信息中携带了三方库本身使用不到的信息,导致了内存泄漏的案例,实际上类似这种相对缓慢的 Node.js 应用内存泄漏问题我们总是可以在合适的机会抓取堆快照进行…

检测到远端X服务正在运行中

文章目录一、 漏洞详情二、 解决方案2.1. 方案1(推荐使用)2.2. 方案2一、 漏洞详情 二、 解决方案 2.1. 方案1(推荐使用) 既然漏洞是6000端口导致的,首先要分析linux6000端口是谁在用呢、又和什么程序有关?如果没有用直接关掉6000端口即可,…

Kubernetes从懵圈到熟练:读懂这一篇,集群节点不下线

排查完全陌生的问题,完全不熟悉的系统组件,是售后工程师的一大工作乐趣,当然也是挑战。今天借这篇文章,跟大家分析一例这样的问题。排查过程中,需要理解一些自己完全陌生的组件,比如systemd和dbus。但是排查…

面试还搞不懂Redis,快看看这40道面试题!| 博文精选

作者| 程序员追风责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)近年来,微服务变得越来越热门,越来越多的应用部署在分布式环境中。常用的分布式实现方式之一就有 Redis。对于想要年后换东家的程序员来说,如…

阿里新一代分布式任务调度平台Schedulerx2.0破土而出

1. 产品简介 Schedulerx2.0是阿里中间件自研的基于Akka架构的新一代分布式任务调度平台,提供定时、任务编排、分布式跑批等功能。使用Schedulerx2.0,您可以在控制台配置管理您的定时任务,查询历史执行记录,查看运行日志。借助Sch…