最近知名开发工具供应商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. 新手学习java路线

    关于新手学习java的路线 笔者也是根据这个路线学习的,希望对你们有所帮助. 首先你要确定你是学习java 并且能够踏踏实实的走下去.一定要多学习,我也可以一直陪你走下去的. 笔者一年工作经验,科班毕 ...

  2. openCV - 1. 加载、修改、保存图像

    加载 cv::imread 修改 cv::cvtColor 保存 cv::imwrite 加载图像cv::imread imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称 ...

  3. [ASP.NET Core开发实战]基础篇05 服务器

    什么是服务器 服务器指ASP.NET Core应用运行在操作系统上的载体,也叫Web服务器. Web服务器实现侦听HTTP请求,并以构建HttpContext的对象发送给ASP.NET Core应用. ...

  4. 2. Bean Validation声明式校验方法的参数、返回值

    你必须非常努力,才能干起来毫不费力.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众 ...

  5. 《spring源码解读》 - IoC 之解析 import 标签

    在上一文中我们分析了注册 BeanDefinition 的过程,在其中我们了解到在解析跟节点和子节点时分两种情况,对于默认名称空间的标签我们通过 DefaultBeanDefinitionDocume ...

  6. 关于java的二维码的生成与解析

    本文说的是通过zxing实现二维码的生成与解析,看着很简单,直接上代码 import java.io.File; import java.io.IOException; import java.nio ...

  7. 【IDEA】【SpringBoot】基于idea对springboot程序远程调试

    一.开启远程调试前提:本地代码与服务器代码一致(实测:不关键的代码稍微有点不一样好像也不会有多大问题). 二.开启远程调试步骤 1.开发工具配置 idea端打开Edit configurations, ...

  8. Zabbix housekeeper processes more than 75% busy

    原因分析 为了防止数据库持续增大,Zabbix有自动删除历史数据的机制,即housekeeper,而在频繁清理历史数据的时候,MySQL数据库可能出现性能降低的情况,此时就会告警. 一般来说,Zabb ...

  9. 【Java/DateTime】用当前日期时间与确定日期时间比较,大于则执行某动作

    代码: package logbackCfg; import java.text.ParseException; import java.text.SimpleDateFormat; import j ...

  10. C enum(枚举)

    C enum(枚举) 枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读. 枚举语法定义格式为: enum 枚举名 {枚举元素1,枚举元素2,……}; 接下来我们举个例子,比如:一星期有 ...