最近知名开发工具供应商Jetbrains在Java 25周年之际,对开发群体做了一次有意思的数据分析。

全文内容可见:https://blog.jetbrains.com/idea/2020/09/a-picture-of-java-in-2020/

通过这次的分析,得出了非常多意思的结论,接下来我们一起来快速看看,都有哪些有意思的现象出现!

有多少Java开发者?

  1. 专业Java开发人数约 520万
  2. 算上主要使用其他语言但也使用Java的开发人员约680万

Java开发者都在哪里?

  1. 亚洲最多,大约有250万

  1. 中国最多,韩国第二,分别占据了51%、50%

编程语言的使用占比

根据2020年开发者生态系统调查,超过三分之一的专业开发者使用 Java 作为主要语言,Java 仍然是继 JavaScript 之后专业开发者使用的第二主要语言。

  1. 专家分析看到 JavaScript 和 Java 处于领先地位并不令人惊讶,因为它们是一对,使用 Java 的开发人员经常用 JavaScript 编写前端和任何快速的脚本。
  2. 由于机器学习的普及,Python 可能排在第三位。
  3. 我们希望 web 成为开发者生态系统的重要组成部分,因此 JavaScript、 HTML、 CSS 和 PHP 将永远站得住脚。
  4. SQL 也将一直存在,因为没有什么不需要数据库的容量。
  5. C + + 也是一种坚实的语言,因为它被用于许多嵌入式应用程序,所以它不会很快从图表中消失。
  6. 尽管 c # 似乎正在失去优势,我猜如果 Java 是高的,那么 c # 将是低的,因为它们在功能上非常相似。

都用Java开发些啥?

  1. Web 服务是使用 Java 最流行的领域,占52% 。
  2. 看到 Java 在商业智能/数据科学/机器学习领域如此普遍令人惊讶,因为你可能认为这是 Python 的领域。

使用Java的几个主要行业

  1. Java 程序员主要工作在 IT 服务(42%)和金融和金融技术(44%) ,但这并不是说 Java 不用于其他行业。
  2. 专家分析金融和金融科技行业主要是金融交易所、零售银行系统、创建计算引擎、开发自主定制工具和服务,以提高公司在市场上的竞争力。金融和金融科技基本上都建立在Java,所以这里没有什么可惊讶的。
  3. IT 服务也是如此,因为许多非 IT 公司的工资系统和库存管理服务都是基于 Java 构建的。其他行业也很有意思。
  4. 由于 Android,移动开发可能很高,所以 Java 被用在这个能力上。大数据和数据分析是非常有趣的,因为这个行业是由 Python 引领的,但是在后端可能会有一些 Java 和 JVM 语言的用途。
  5. 当然是软件开发工具。目前使用 Java 构建 JetBrains。

Java版本的选择

  1. Java 8仍然是最流行的版本
  2. Oracle引入了每两年发布一次的版本,所以并不是所有的版本都能在很长一段时间内得到支持,所以 java 9、 java 10、 java 12和 java 13只能在6个月内得到支持,这可能就是为什么它们的用户都非常少的原因。
  3. java 13之所以如此之高,是因为当这个调查结果公布时,它是最新版本,所以你可以预期这个数字在几个月内会下降
  4. java 11发布于2018年,是最新的长期支持版本。许多企业仍然没有采取行动,因为他们担心过去的 java9(及其架构的变化)将打破一切,而且 java11引入了新的许可和新的订阅,所以它带来了额外的担心,如果你用错了版本,以错误的方式,甲骨文将罚款你。同时,不更新到Java 11的最后一个重要原因是它没有很多令人兴奋的新特性

最流行的应用服务器

  1. 毫无疑问,第一是Apache Tomcat
  2. Jetty 排在第二位,但它似乎出人意料地低。可能是一些使用 Spring Boot 和其他微服务框架的开发人员可能都没意识到他们在使用什么(Spring Boot内嵌模式让开发者无感知)

五大Web开发框架

  1. SPring Boot第一、Spring MVC第二
  2. 这一调查证实了Spring在Web开发领域的霸主地位

五大Java开发工具

IntelliJ IDEA 的份额从2018年的55% 增加到2020年的72%,而其他的都在逐年减少

本文首发:2020 Java开发者数据分析:中国已成为 Java 第一大国,转载请注明该文链接

欢迎关注我的公众号:程序猿DD,获得独家整理的免费学习资源助力你的Java学习之路!另每周赠书不停哦~

2020 Java开发者数据分析:中国已成为 Java 第一大国的更多相关文章

  1. 100个高质量Java开发者博客

    ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢迎你也参与推荐优质的Java开发博客.(声明一下:我们的数学不是体育老师教的!:) ...

  2. 转:100个高质量Java开发者博客

    原文来自于:http://www.importnew.com/7469.html ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢 ...

  3. 【伯乐在线】100个高质量Java开发者博客

    本文由 ImportNew - 夏千林 翻译自 programcreek.欢迎加入翻译小组.转载请见文末要求. ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博 ...

  4. 阿里开源自用 OpenJDK 版本,Java 社区迎来中国力量

    阿里开源自用 OpenJDK 版本,Java 社区迎来中国力量 3 月 21 日,阿里巴巴将宣布开源 Alibaba Dragonwell.届时,开发者可通过阿里云开发者中心及 Github 社区下载 ...

  5. Java 开发者不容错过的 12 种高效工具

    Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松.目前,市面上涌现出越来越多的高效编程工具.所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用.正在使用或 ...

  6. 转:Eclipse Kepler已支持Java 8

    文章来自于:http://www.infoq.com/cn/news/2014/04/eclipse-kepler-support-java8 期待已久的Java 8已于2014年3月19日正式发布, ...

  7. Java开发者易犯错误Top10

    本文总结了Java开发者经常会犯的前十种错误列表. Top1. 数组转换为数组列表 将数组转换为数组列表,开发者经常会这样做: List<String> list = Arrays.asL ...

  8. 【IDEA&&Eclipse】1、为何 IntelliJ IDEA 比 Eclipse 更适合于专业java开发者

    圣战 有一些没有唯一正确答案的“永恒”的问题,例如哪个更好:是Windows还是Linux,Java还是C#:谁更强壮:Chuck Norris还是Van Damme. 其中的一个圣战便是Java I ...

  9. 给Java开发者的Scala教程

    author:Michel Schinz,Philipp Haller 1. 简介 本文将该要的介绍Scala语言和其编译.这里假设读者已经有一定的java开发经验,需要概要的了解他们可以用Scala ...

随机推荐

  1. DevOps系列(1)-总体架构

    扯闲淡 在进入正式话题之前,先扯个淡,这算是第一篇我正式在博客上发布的随笔吧,之前也一直有想写点什么,将自己多年的工作经验分享出来,供大家参考点评,但是奈何一直对自己的文字功底不自信(其实也确实比较烂 ...

  2. Python字符串类型格式化之format方法

    python字符串格式化一般使用 format() 方法,用法如下: <模板字符串>.format(<逗号分割的参数>) 其中模板字符串中可以由一个或多个 {} 组成的 槽 , ...

  3. AD18使用原理图优先选项( Preference)调整原理图纸张大小失效问题解决

    1.创建新的原理图纸后,在当前点击更改并不会生效 2.想要生效需要去原理图纸的文档详细属性中更新即可生效!以下两种方式可以打开文档选项按钮. a.O->D 打开文档选项 b.右下角选择Prope ...

  4. 洛谷 P4343 [SHOI2015]自动刷题机

    思路 二分答案 显然的二分答案,但是因为二分判定条件 \(\text{wa}\) 了好几遍-- 可以发现,\(n\) 越大,\(k\) 就越小,所以答案是有单调性的,因此可以用两个二分,一次求最大值, ...

  5. Excel-Countif函数对重复值的处理之删除、统计和标记

    问题场景 删除重复值: 统计重复项出现的次数: 对比两列,找出重复项. 场景一 某列员工编号user_id相当于身份证,可以唯一代表这个人,需要删除重复项. 目标 将user_id重复的人员所在行都删 ...

  6. Java HashMap源码

    http://blog.csdn.net/qq_27093465/article/details/52207135 http://blog.csdn.net/qq_27093465/article/d ...

  7. Palindrome subsequence(区间dp+容斥)

    In mathematics, a subsequence is a sequence that can be derived from another sequence by deleting so ...

  8. 组件给App全局传值vue-bus的使用

    npm安装 npm install vue-bus main.js引入 import VueBus from 'vue-bus' Vue.use(VueBus) 组件 getHouse(e){ thi ...

  9. 【好文分享】为什么强烈禁止开发人员使用isSuccess作为变量名

    原文来自阿里云hollies:https://developer.aliyun.com/article/701413   简介: 在日常开发中,我们会经常要在类中定义布尔类型的变量,比如在给外部系统提 ...

  10. H5选择器

    1.标签选择器 注意点:1. 标签选择器选中当前所有的标签,而不能单独选择某个标签 2.标签选择器不无多深都能被选中     3.只要是HTML中的标签就可以作为表亲啊选择器(h/a/img/ul/o ...