Java 2019 年生态圈报告

举报
G-washington 发表于 2019/10/27 22:58:01 2019/10/27
【摘要】 数据库领域感觉 MySQL 、PostgreSQL、OracleDB 这三者所占的比例还是比较大的,MySQL 依然是开发者中使用最广泛的。但是,PostgreSQL 大有超过之势头,PostgreSQL 自去年以来增长了 5%。非关系数据库使用最广泛的还是 MongoDB 然后是 Redis,平时开发中,但凡并发量会稍大一点,都会优先选择使用 Redis 作为缓存层,避免过多请求直接访问数据库。

数据来源自国外的一个调查,在过去的几周,这份调查一共采访了6707 名开发人员。数据来源:https://www.baeldung.com/java-in-2019

1.JDK 版本使用情况

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

JDK 版本使用情况

即使在今天 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 新特性最佳指南

2.Spring Framework 的使用

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

Spring Framework 的使用

与 Java 相对,这是一个完全不同的故事。去年 Spring4 超过 50%,现在已经达到 30%,而 Spring5 从今天的 24%上升到今天的 58.4%。我觉得这大概率是因为 Spring Boot 最新的版本内部就是集成的 Spring 5,并且 Spring 5 更有利于开发者进行开发。

Java EE 的使用占比也很有趣,从去年的 9.5%上升到现在的 14%。

3.Spring Boot 的使用

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

Spring Boot 的使用

对于 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[1] (目前已经支持在线阅读!)

4.构建工具的使用

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

构建工具的使用

构建工具的数据貌似很稳定,和去年一样,Maven 还是开发者使用最广泛的构建工具。

这点其实还是令我比较诧异的。虽然,我知道大部分国内用户和公司都是使用 Maven 的,这点你可以通过在 Github 上搜索 Java 项目有比较清楚的认识。但是,我以为国外会优先使用 Gradle ,毕竟 Gradle 相比于 Maven 在很多方面做的还是要好点。而且,我所在的外企公司在前几年就开始大规模采用 Gradle 开发 Java 项目了,不说其他的。我个人觉得 Gradle 用起来更舒服一点,也推荐各位可以尝试一下。

5.IDE 的采用

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

编辑器的使用

IntelliJ 毋庸置疑是使用最广泛的 IDE。但是, 为啥 Eclipse 今年都还有 32.8% 的占比,虽然,相比于去年的 38%降低了不少。

6.web 服务器的采用

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

web 服务器的使用

Tomcat 仍然是开发者中使用最广泛的 web  服务器,市场占有率高达 73 %。Spring Boot 默认使用的 web 服务器就是 Tomcat 了,我想这也为它的市场占有率的增加加了把

Spring Boot 支持以下嵌入式 servlet 容器:

NameServlet Version
Tomcat 9.04.0
Jetty 9.43.1
Undertow 2.04.0

您还可以将 Spring 引导应用程序部署到任何 Servlet 3.1+兼容的 Web 容器中。

7.其他基于 JVM 的语言

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

虽然 Kotlin 被广泛采用和接受,但是仍然有 62.6% 的开发人员仅使用 Java。Kotlin 13%增长到了今天的 16.5%。

Groovy 从今天的 19.3%下降到了 17.4%,现在大多数注意力都转移到了 Kotlin 身上。Scala 也下跌了约 1.1%,目前跌至 8.6%。

因此,趋势很明显– Kotlin 正在逐渐淘汰其他 JVM 语言

8.数据库的使用

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1数据库的使用

数据库领域感觉 MySQL 、PostgreSQL、OracleDB 这三者所占的比例还是比较大的,MySQL 依然是开发者中使用最广泛的。但是,PostgreSQL 大有超过之势头,PostgreSQL 自去年以来增长了 5%。非关系数据库使用最广泛的还是 MongoDB 然后是 Redis,平时开发中,但凡并发量会稍大一点,都会优先选择使用 Redis 作为缓存层,避免过多请求直接访问数据库。

9.总结

我个人感觉上面的数据统计情况大部分都是意料之中,让我感到意外的是构建工具的使用以及使用 Kotlin 的开发者的占比。

总而言之,本文对 Java 社区进行了非常酷的介绍。



本文转载自微信公众号JavaGuide

原文链接:https://mp.weixin.qq.com/s/aUcvyGErEGY5l0S-QCMjcQ

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。