数据来源自国外的一个调查,在过去的几周,这份调查一共采访了 6707名开发人员 。数据来源: https://www.baeldung.com/java... 。
即使在今天 Java 13 都已经发布了,Java 8仍然是使用最广泛的 JDK 版本。不过, Java 8 仍然从去年的84.7%下降到今年的79.8%。我觉得这很大程度上因为 JDK 8 是一个较为里程碑的版本,JDK 8 提供了 Lambda 表达式、函数式接口、Stream 流等等非常方便开发的新特性。为什么 Java 8 还是采用最多的 JDK 版本呢?我觉得还有一点非常重要的原因是:很多人连 Java 8 的新特性都没玩熟,连最基本的 Lambda 表达式和 Stream 流都玩不转,显然你引入更高版本的 JDK ,里面很多新特性大部分也不一定会用,而且不一定能用到。关于 Java 8 新特性,可以查阅这篇文章: Java 8 新特性最佳指南 。
与 Java 相对,这是一个完全不同的故事。去年Spring4超过50%,现在已经达到30%,而Spring5从今天的24%上升到今天的58.4%。我觉得这大概率是因为 Spring Boot 最新的版本内部就是集成的 Spring 5,并且Spring 5 更有利于开发者进行开发。
Java EE的使用占比也很有趣,从去年的9.5%上升到现在的14%。
对于 Spring Boot,可以看出还有 Spring Boot 已经成为最主流的 Java Web 框架,这点我们在平时工作和学习中也是可以清楚看到的。但是,仍然有接近 25% 的开发者并没有选择使用更优秀的 Spring Boot,难道是为了维护老项目或者是不想拥抱更加优秀的技术?
Spring Boot 2.0+从去年的30%上升到现在的60.5%。Spring Boot 在我们平时开发中使用的太广泛了,一般情况下进行新项目的开发都会优先选择Spring Boot 并且是它的最新版本。为此,我自己也开源了一份 Spring Boot 学习指南: https://github.com/Snailclimb/springboot-guide (目前已经支持在线阅读!)
构建工具的数据貌似很稳定,和去年一样,Maven 还是开发者使用最广泛的构建工具。
这点其实还是令我比较诧异的。虽然,我知道大部分国内用户和公司都是使用 Maven 的,这点你可以通过在 Github 上搜索 Java 项目有比较清楚的认识。但是,我以为国外会优先使用 Gradle ,毕竟 Gradle 相比于 Maven 在很多方面做的还是要好点。而且,我所在的外企公司在前几年就开始大规模采用 Gradle 开发 Java 项目了,不说其他的。我个人觉得 Gradle 用起来更舒服一点,也推荐各位可以尝试一下。
IntelliJ 毋庸置疑是使用最广泛的 IDE。但是, 为啥 Eclipse 今年都还有 32.8% 的占比,虽然,相比于去年的38%降低了不少。
Tomcat 仍然是开发者中使用最广泛的 web 服务器,市场占有率高达 73 %。Spring Boot 默认使用的 web 服务器就是 Tomcat 了,我想这也为它的市场占有率的增加加了把火:fire:。
Spring Boot支持以下嵌入式servlet容器:
Name | Servlet Version |
---|---|
Tomcat 9.0 | 4.0 |
Jetty 9.4 | 3.1 |
Undertow 2.0 | 4.0 |
您还可以将Spring引导应用程序部署到任何Servlet 3.1+兼容的 Web 容器中。
虽然 Kotlin 被广泛采用和接受,但是仍然有 62.6% 的开发人员仅使用 Java。Kotlin 13%增长到了今天的16.5%。
Groovy从今天的19.3%下降到了17.4%,现在大多数注意力都转移到了Kotlin身上。Scala 也下跌了约1.1%,目前跌至8.6%。
因此,趋势很明显– Kotlin正在逐渐淘汰其他JVM语言 。
数据库领域感觉 MySQL 、PostgreSQL、OracleDB这三者所占的比例还是比较大的,MySQL 依然是开发者中使用最广泛的。但是,PostgreSQL大有超过之势头,PostgreSQL自去年以来增长了5%。非关系数据库使用最广泛的还是 MongoDB 然后是 Redis,平时开发中,但凡并发量会稍大一点,都会选择使用 Redis 作为缓存层,避免过多请求直接访问数据库。
我个人感觉上面的数据统计情况大部分都是意料之中,让我感到意外的是构建工具的使用以及使用 Kotlin 的开发者的占比。
总而言之,本文对Java 社区进行了非常酷的介绍。
作者的其他开源项目推荐: