最近知名开发工具供应商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. filebeat 启动失败

    最近在ELK架构中启动filebeat时,启动失败,检查启动节点不存在 查看/var/log/message中报错日志,有如下内容 filebeat: Exiting:error loading co ...

  2. 2020,你需掌握go 单元测试进阶篇

    本文说明go语言自带的测试框架未提供或者未方便地提供的测试方案,主要是用于解决写单元测试中比较头痛的依赖问题.也就是伪造模式,经典的伪造模式有桩对象(stub),模拟对象(mock)和伪对象(fake ...

  3. 极简 Node.js 入门 - 3.5 文件夹操作

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  4. Java 获取一段时间内的每一天

    有时候我们会遇到一些业务场景,需要去获取一段时间内的每一天日期 public static List<Date> findDates(Date dBegin, Date dEnd) { L ...

  5. vue 里bus的使用

    兄弟组件之间进行传值(非父子组件): 安装:npm install vue-bus 在main.js中引入vue-bus import Vue from 'vue'; import VueBus fr ...

  6. 【Android】SlidingTabLayout实现标题栏,教你制作title标题 简单易学。

    SlidingTabLayout 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, QQ986945193 微博:http://weibo.com/m ...

  7. Lua_C_C#

    lua调用c函数 https://www.cnblogs.com/etangyushan/p/4384368.html Lua中调用C函数 https://www.cnblogs.com/sifenk ...

  8. 详细分析链表中的递归性质(Java 实现)

    目录 链表中的递归性质 前言 LeetCode 上关于链表的一道问题 203 号题目 移除链表中的元素 递归的基本概念与示例 链表天然的递归性 小结 链表中的递归性质 前言 在前面的 链表的数据结构的 ...

  9. Activiti7 网关(排他网关)

    什么是排他网关? 排他网关(也叫异或(XOR)网关,或叫基于数据的排他网关),用于在流程中实现决策,当流程执行到这个网关,所有分支都会判断条件是否为true,如果为true则执行该分支 注意:排他网关 ...

  10. Avtiviti工作流规范 BPM与BPMN

    进过长时间的轮转,重拾Activiti,因为最近在智联上看到多家公司的需求上写的,都要熟悉工作流引擎,也就是activiti所以重拾 之前看的视屏是activiti5,我觉得版本有点低,所以打算看一下 ...