2020 Java开发者数据分析:中国已成为 Java 第一大国
最近知名开发工具供应商Jetbrains在Java 25周年之际,对开发群体做了一次有意思的数据分析。
全文内容可见:https://blog.jetbrains.com/idea/2020/09/a-picture-of-java-in-2020/
通过这次的分析,得出了非常多意思的结论,接下来我们一起来快速看看,都有哪些有意思的现象出现!
有多少Java开发者?
- 专业Java开发人数约 520万
- 算上主要使用其他语言但也使用Java的开发人员约680万
Java开发者都在哪里?
- 亚洲最多,大约有250万

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

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

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

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

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

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

五大Web开发框架
- SPring Boot第一、Spring MVC第二
- 这一调查证实了Spring在Web开发领域的霸主地位

五大Java开发工具
IntelliJ IDEA 的份额从2018年的55% 增加到2020年的72%,而其他的都在逐年减少

本文首发:2020 Java开发者数据分析:中国已成为 Java 第一大国,转载请注明该文链接
欢迎关注我的公众号:程序猿DD,获得独家整理的免费学习资源助力你的Java学习之路!另每周赠书不停哦~
2020 Java开发者数据分析:中国已成为 Java 第一大国的更多相关文章
- 100个高质量Java开发者博客
ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢迎你也参与推荐优质的Java开发博客.(声明一下:我们的数学不是体育老师教的!:) ...
- 转:100个高质量Java开发者博客
原文来自于:http://www.importnew.com/7469.html ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢 ...
- 【伯乐在线】100个高质量Java开发者博客
本文由 ImportNew - 夏千林 翻译自 programcreek.欢迎加入翻译小组.转载请见文末要求. ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博 ...
- 阿里开源自用 OpenJDK 版本,Java 社区迎来中国力量
阿里开源自用 OpenJDK 版本,Java 社区迎来中国力量 3 月 21 日,阿里巴巴将宣布开源 Alibaba Dragonwell.届时,开发者可通过阿里云开发者中心及 Github 社区下载 ...
- Java 开发者不容错过的 12 种高效工具
Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松.目前,市面上涌现出越来越多的高效编程工具.所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用.正在使用或 ...
- 转:Eclipse Kepler已支持Java 8
文章来自于:http://www.infoq.com/cn/news/2014/04/eclipse-kepler-support-java8 期待已久的Java 8已于2014年3月19日正式发布, ...
- Java开发者易犯错误Top10
本文总结了Java开发者经常会犯的前十种错误列表. Top1. 数组转换为数组列表 将数组转换为数组列表,开发者经常会这样做: List<String> list = Arrays.asL ...
- 【IDEA&&Eclipse】1、为何 IntelliJ IDEA 比 Eclipse 更适合于专业java开发者
圣战 有一些没有唯一正确答案的“永恒”的问题,例如哪个更好:是Windows还是Linux,Java还是C#:谁更强壮:Chuck Norris还是Van Damme. 其中的一个圣战便是Java I ...
- 给Java开发者的Scala教程
author:Michel Schinz,Philipp Haller 1. 简介 本文将该要的介绍Scala语言和其编译.这里假设读者已经有一定的java开发经验,需要概要的了解他们可以用Scala ...
随机推荐
- SpringBoot中加载XML配置
开篇 在SpringBoot中我们通常都是基于注解来开发的,实话说其实这个功能比较鸡肋,但是,SpringBoot中还是能做到的.所以用不用是一回事,会不会又是另外一回事. 涛锅锅在个人能力能掌握的范 ...
- 【HttpRunner v3.x】笔记—6. 测试用例-teststeps-RunRequest
之前我们了解了config里的各项参数,今天来了解另一个重要部分--teststeps,在这之前,先看看测试用例的分层模型. 一.测试用例分层模型 一个testcase里(就是一个pytest格式的P ...
- 如何使用zabbix监控公网环境的云服务器(从小白到高级技术顾问!!!)
问题:当我们在本地部署了一台Zabbix服务器后,想要对云上的服务器做监控.但是zabbix一个在内网,云服务器一个在公网,网络环境不同该如何解决?能否检测到云服务器数据? 思路:使用NAT技术,将本 ...
- [BUUOJ记录] [ZJCTF 2019]NiZhuanSiWei
考察PHP伪协议+反序列化,都比较简单 进入题目给出源码: <?php $text = $_GET["text"]; $file = $_GET["file&quo ...
- 2020重新出发,NOSQL,Redis主从复制
Redis主从复制 尽管 Redis 的性能很好,但是有时候依旧满足不了应用的需要,比如过多的用户进入主页,导致 Redis 被频繁访问,此时就存在大量的读操作. 对于一些热门网站的某个时刻(比如促销 ...
- Ajax跨域解决方案大全
题纲 关于跨域,有N种类型,本文只专注于ajax请求跨域(,ajax跨域只是属于浏览器"同源策略"中的一部分,其它的还有Cookie跨域iframe跨域,LocalStorage跨 ...
- Mybatis-日志
日志 目录 日志 1. 日志工厂 1. STDOUT_LOGGING标准日志输出 2. LOG4J 1. 先导入Log4J的包 2. log4j.properties 3. 配置log4j为日志的实现 ...
- linux基础:控制台
图形界面切换至命令行界面:ctrl+alt+F1~F6 命令行界面切换至图形界面:startx linux一共有7个运行级别,可查看/etc/inittab文件: 0:停机(记住不要把initdefa ...
- Java并发编程之闭锁与栅栏
一.前言 闭锁与栅栏是在多线程编程中的概念,因为在多线程中,我们不能控制线程的执行状态,所以给线程加锁,让其按照我们的想法有秩序的执行. 闭锁 CountDownLatch,实例化时需要传入一个int ...
- 喵的Unity游戏开发之路 - 多场景:场景加载
如果丢失格式.图片或视频,请查看原文:https://mp.weixin.qq.com/s/RDVMg6l41uc2IHBsscc0cQ 很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始 ...