点击上方“朱小厮的博客”,选择“设为星标”

后台回复”加群“获取公众号专属群聊入口

这篇报告会回答下面这些,但不止这些问题:

  1. 你最近在生产环境中主要使用的哪个发行方的JDK?

  2. 你最近为JDK付费了吗?

  3. 你付费给谁了?

  4. 自JDK 9以来,支持和发布节奏的变化是否影响了您决定支持付费?

  5. 将来你会考虑为JDK付费吗?

  6. 你的项目主要使用哪个JDK版本?

  7. 你没有升级到最新JDK版本的原因是什么?

  8. 你的应用主要使用JVM生态的哪种语言?... ...

你最近在生产环境中主要使用的哪个发行方的JDK?

随着甲骨文这个坏家伙修改了JDK的license,所以这第一个问题就非常重要了。通过报告可以看到Oracle JDK依然是NO.1,但是已经不是一家独大,毕竟连一半市场份额都没有。更可怕的是,相比2018年,OracleJDK下降了36%,而OpenJDK增长了36%。

你现在和将来为JDK付费了吗?

通过统计我们发现,现在只有9%的用户为JDK付费。Oracle看到这份报告估计想Cry。毕竟国内有阿里巴巴使用完全开源OpenJDK,国外有大名鼎鼎的谷歌用OpenJDK,还有号称最牛逼的Java开发工具IDEA自带的也是OpenJDK。两个JVM生态主要玩家都不用OracleJDK,这就为大家带了一个好头,哈哈哈:

备注:这些付费用户中,超过一半(55%)的用户是付费给Oracle,其次付费给RedHat有17%,付费给IBM的有16%,付费给Azul的有12%。

而将来愿意为JDK付费的用户也不多,如下图所示:

你的项目主要使用哪个JDK版本?

这个问题事实上不需要看结果我们都能猜到是JDK8,没错,就是它~是它是它就是它!绝对的JDK版本钉子户,哈哈哈~但是让我意外的是,JDK11的用户比例竟然达到了25%。

那么,大家不肯升级到新版JDK的原因是什么呢?排名第一的是当前JDK运行的蛮好的。第二原因是迁移代价太大。第三原因则是新版本特性没有很大的吸引力(JDK的用户还是慢难伺候的):

遇到严重的安全问题你会多快升级JDK?

毕竟要让Java应用安全的运行,那么碰到严重的JDK安全问题升级就很有必要了!毕竟,远程攻击导致公司重大损失的事件每天都在发生。然后,仍然有17%的用户不愿意升级!任你千苍百孔,我自归然不动,哈哈哈!当然,还是有61%的用户在一个月以内就会升级解决安全问题:

你的应用主要使用JVM生态的哪种语言?

JVM已经成为一个生态了,运行在JVM之上的不只是Java语言,大名鼎鼎的kafka,Scala语言编写的,也是运行在JVM上。还有因为和甲骨文官司问题,谷歌力推的Kotlin,也是运行在JVM之上。当然,JVM上运行的语言,Java依然占据绝对地位,达到了86.9%,接近9成用户,恐怖:

使用Spring框架的比例

大概60%的用户在他们生产环境的项目中使用了Spring框架,这对于一个非官方的,完全属于第三方开发的开源软件来说,这是一个非常高的比例。完全可以说,Spring框架是Java生态中非常具有支配地位的框架:

这些使用Spring框架的用户中,使用的版本分布如下,接近一半的用户使用的是5.1.x版本,2/3左右的用户使用5.x版本。可见,使用Spring新版本的占比是非常高的:

其他语言占比

现在很多的项目不止使用一种开发语言。所以,现在的开发人员很有必要成为熟悉多种开发语言,全栈的软件工程师。

统计结果一点都不让人意外,JavaScript是最流行的前端开发语言,远超其他语言,占到62%的开发人员,其次是SQL占比44%,是最流行的数据库查询语言。然后是在数据科学和机器学习方面表现出色的Python,占比也有22%:

Web框架

我们先看客户端Web框架占比,各有千秋,没有哪个Web框架有绝对的统治地位。用的最大的3个客户端Web框架分别是:Angular,React,jQuery。如下图所示:

而服务端Web框架分布就要高度集中的多,这主要得益于Spring家族两大杀器:SpringBoot和SpringMVC(当然,SpringBoot默认也是采用的SpringMVC作为它的Web框架)。这俩家伙加起来占比超过80%,简直不给其他Web框架留下任何机会(为以前SSH之一的Struts默哀1分钟):

工具使用情况

我们首先看一下IDE开发工具,IDEA毫无悬念登顶,而且以超过60%的比例。Eclipse老而弥坚,还有20%:

再来看一下构建工具使用情况,Maven一家独大,其次是后起之秀Gradle,最后是Ant:

接下来是代码仓库,排名依次是:GitLab > GitHub > BitBucket:

角色分布情况

最后就是IT行业角色分布情况,超过一半是软件开发工程师,21%是架构师,14%是团队Leader角色。正在看此文的您,角色是什么呢?

想知道更多?描下面的二维码关注我

后台回复”加群“获取公众号专属群聊入口

字节跳动2020春季实习生招聘及校招全职补录全面启动!

【精彩推荐】

  • 一文讲透微服务下如何保证事务的一致性

  • 如何理解Linux中的零拷贝技术

  • 干货!Java字节码增强探秘

  • Java Agent初探

  • IO多路复用是什么意思

  • 当我们在谈论内存的时候,我们在谈论什么 | 干货

  • 分布式文件系统设计,该从哪些方面考虑

  • 咱们从头到尾说一次Java垃圾回收

  • Netty、Kafka中的零拷贝技术到底有多牛?

  • go为什么这么快?

  • 面试前,我们要复习多少Redis知识?

  • 《深入理解Java虚拟机》第2版挖的坑终于在第3版中被R大填平了

朕已阅 

2020 JVM生态报告相关推荐

  1. 2020 最新 JVM 生态报告

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「阿飞的博客」 这篇报告会回答下面这些, ...

  2. 2018 JVM 生态报告:79% 的 Java 开发者使用 Java 8

    百度智能云 云生态狂欢季 热门云产品1折起>>>   2018 JVM 生态调查报告已于近日发布,该报告由 Snyk 和 The Java Magazine(Oracle 的双月刊) ...

  3. 2021年JVM生态中哪些是流行的、热门的、趋势是什么

    最近知名安全机构Snyk和知名JDK供应商Azul联合推出了2021年度的JVM生态报告.该报告历经六周,相关调研收集了全球2000多名Java开发者的问卷回复.经过调研,对当前的JVM生态有了更好更 ...

  4. 2020 年开发者生态报告:Python超越Java,Go、Kotlin强势崛起

    来源:JetBrains 编辑:白峰.鹏飞.舒婷 本文转自:新智元 近日,JetBrains发布了一份2020年开发者生态报告.该报告是基于19696个开发者的反馈所得到的,目标是完成对2020年开发 ...

  5. 【报告分享】2020快手电商生态报告.pdf(附下载链接)

    大家好,我是文文(微信:sscbg2020),今天给大家分享快手大数据研究院和快手电商于2020年11月联合发布的报告<2020快手电商生态报告.pdf>. 此报告系快手首次对外系统梳理电 ...

  6. 【报告分享】2020年小红书内容生态报告.pdf(附下载链接)

    大家好,我是文文(微信:sscbg2020),今天给大家分享一诗二画于2020年7月发布的报告<2020年小红书内容生态报告.pdf>. 小红书是一个生活方式平台和消费决策入口,用户数已超 ...

  7. 【报告分享】2020直播生态研究报告.pdf(附下载链接)

    今天给大家分享新榜研究院于2020年5月发布的报告<2020直播生态研究报告.pdf>,报告共包含如下三大部分: 1.直播行业发展概述: 2.典型行业线上直播生态: 3.直播行业发展趋势. ...

  8. 【报告分享】2020快手母婴生态报告-快手大数据研究院(附下载)

    今天给大家分享的是  2020快手母婴生态报告-快手大数据研究院 快手大数据研究院发布<2020快手母婴生态报告>,系快手首次系统盘点平台母婴生态的发展情况.报告既有快手母婴人群洞察,也有 ...

  9. 程序员看过来!JS、Java、C 依然强势,Go、Kotlin、Python 潜力股,2020 开发者生态系统报告

    编译 | 屠敏 头图 | CSDN 下载自东方 IC 出品 | CSDN(ID:CSDNnews) 一切过往,皆为序章. 2019 年,走出舒适区的技术圈迎来消费互联网向产业互联网的转型,也开始了数字 ...

最新文章

  1. Nginx反向代理以及负载均衡配置
  2. python成长之路——第四天
  3. 基于蚁群算法的岸桥作业顺序研究
  4. 安装server 2012 时提示输入的密码不满足网络或组管理员设置的密码复杂度
  5. 一台台式计算机的主要配件有哪些,电脑的基本配件有哪些
  6. asp.net mvc项目实例_降龙-第13章:MVC开发准备
  7. Razor视图引擎浅析
  8. kernel shell bash简介
  9. Linux改变文件和目录权限-chmodchown
  10. 深层神经网络——总结
  11. 设计模式(七)装饰模式
  12. AndroidStudio_在android中使用定时器_异步定时实现心跳保活功能---Android原生开发工作笔记231
  13. learning java AWT 布局管理器 GridLayout
  14. 人生如游戏,容错性很关键
  15. 【Ware】有了这些软件,马上告别360全家桶!
  16. 81-RabbitMQ详解
  17. kettle连接mysql 8.0以上数据库所需驱动包
  18. 时间线MindMap里程碑的使用方法
  19. VScode代码格式化及语法检测
  20. CHRE: /vendor/bin/chre

热门文章

  1. php paypal订单号查询,php – 在交易后从PayPal获取信息
  2. java xml字符串提取元素,如何从Java中将子元素从XML提取到字符串?
  3. Java并行程序基础
  4. 同步阻塞、同步非阻塞、异步阻塞、异步非阻塞与 I/O 多路复用、Java NIO 之间的联系
  5. 关于导入geoserver 源码到Eclipse编译运行
  6. 2016云栖大会马云畅谈未来五大创新趋势
  7. (iOS开发总结)MVC模式
  8. == 捕获对象时的模式切换 ==
  9. 用PHP做负载均衡指南
  10. 几种Win7/Windows共享虚拟无线网络的方法及区别