数据来源自国外的一个调查,在过去的几周,这份调查一共采访了6707名开发人员。数据来源:https://www.baeldung.com/java-in-2019。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 新特性最佳指南。git
与 Java 相对,这是一个彻底不一样的故事。去年Spring4超过50%,如今已经达到30%,而Spring5从今天的24%上升到今天的58.4%。我以为这大几率是由于 Spring Boot 最新的版本内部就是集成的 Spring 5,而且Spring 5 更有利于开发者进行开发。github
Java EE的使用占比也颇有趣,从去年的9.5%上升到如今的14%。web
对于 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 (目前已经支持在线阅读!)spring
构建工具的数据貌似很稳定,和去年同样,Maven 仍是开发者使用最普遍的构建工具。数据库
这点其实仍是令我比较诧异的。虽然,我知道大部分国内用户和公司都是使用 Maven 的,这点你能够经过在 Github 上搜索 Java 项目有比较清楚的认识。可是,我觉得国外会优先使用 Gradle ,毕竟 Gradle 相比于 Maven 在不少方面作的仍是要好点。并且,我所在的外企公司在前几年就开始大规模采用 Gradle 开发 Java 项目了,不说其余的。我我的以为 Gradle 用起来更舒服一点,也推荐各位能够尝试一下。缓存
IntelliJ 毋庸置疑是使用最普遍的 IDE。可是, 为啥 Eclipse 今年都还有 32.8% 的占比,虽然,相比于去年的38%下降了很多。springboot
Tomcat 仍然是开发者中使用最普遍的 web 服务器,市场占有率高达 73 %。Spring Boot 默认使用的 web 服务器就是 Tomcat 了,我想这也为它的市场占有率的增长加了把火🔥。服务器
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 社区进行了很是酷的介绍。
若是你们想要实时关注我更新的文章以及分享的干货的话,能够关注个人公众号。
《Java面试突击》: 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本公众号后台回复 "Java面试突击" 便可免费领取!
Java工程师必备学习资源: 一些Java工程师经常使用学习资源公众号后台回复关键字 “1” 便可免费无套路获取。