數據來源自國外的一個調查,在過去的幾周,這份調查一共採訪了6707名開發人員。數據來源:https://www.baeldung.com/java...。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
Spring Boot 2.0+從去年的30%上升到如今的60.5%。Spring Boot 在咱們平時開發中使用的太普遍了,通常狀況下進行新項目的開發都會優先選擇Spring Boot 而且是它的最新版本。爲此,我本身也開源了一份 Spring Boot 學習指南:https://github.com/Snailclimb/springboot-guide (目前已經支持在線閱讀!)數據庫
構建工具的數據貌似很穩定,和去年同樣,Maven 仍是開發者使用最普遍的構建工具。segmentfault
這點其實仍是令我比較詫異的。雖然,我知道大部分國內用戶和公司都是使用 Maven 的,這點你能夠經過在 Github 上搜索 Java 項目有比較清楚的認識。可是,我覺得國外會優先使用 Gradle ,畢竟 Gradle 相比於 Maven 在不少方面作的仍是要好點。並且,我所在的外企公司在前幾年就開始大規模採用 Gradle 開發 Java 項目了,不說其餘的。我我的以爲 Gradle 用起來更舒服一點,也推薦各位能夠嘗試一下。後端
IntelliJ 毋庸置疑是使用最普遍的 IDE。可是, 爲啥 Eclipse 今年都還有 32.8% 的佔比,雖然,相比於去年的38%下降了很多。緩存
Tomcat 仍然是開發者中使用最普遍的 web 服務器,市場佔有率高達 73 %。Spring Boot 默認使用的 web 服務器就是 Tomcat 了,我想這也爲它的市場佔有率的增長加了把火🔥。springboot
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 社區進行了很是酷的介紹。
做者的其餘開源項目推薦: