Java

分享:

这些问题仅向选择 Java 作为其三种主要编程语言之一的受访者显示。

Mala Gupta

JetBrains 的技术布道师

开发者生态系统调查是发现和分析现实情况的好方法,现实情况往往与流行或趋势截然相反。在生产中使用 Java 17 的开发者人数要多于 Java 11,而且 Docker 也逐渐成为打包 Web 应用程序的首选方案。Spring 和 Spring Boot 在使用率方面拥有巨大的领先优势!

Venkat Subramaniam 博士

获奖作家和 Agile Developer, Inc. 创始人

这非常鼓舞人心。结果表明,许多组织已经取得了长足的进步,与此同时,还有很大的改进潜力。

您经常使用哪个(哪些)版本的 Java?

50%

Java 8

45%

Java 17

38%

Java 11

11%

Java 20

8%

Java 18

8%

Java 19

3%

Java 16

2%

Java 14

2%

Java 12

2%

Java 7

2%

Java 15

1%

Java 13

Marit van Dijk

JetBrains 的技术布道师和 Java Champion

很遗憾看到这么多人仍在使用 Java 8(和更早版本)。我想知道是什么阻止了他们升级到新版本,让他们无法使用出色的新语言功能,以及我们如何帮助他们将代码迁移到新的 Java 版本。

您如何打包 Web 应用程序?

58%

我使用 Docker

56%

我使用嵌入式服务器

36%

作为工件

4%

我使用 GraalVM Native Image

1%

我使用 jlink 定制 Java 运行时镜像

5%

不确定

Josh Long

Spring 技术布道师、Java Champion 和 Kotlin Google 开发者专家

这些数字很有趣,不过我也好奇重叠的部分有多少。我使用 GraalVM 将 Spring Boot 应用程序编译为原生映像,Spring Boot 则使用嵌入式服务器(如 Apache Tomcat)。

您使用哪种(哪些)单元测试框架?

84%

JUnit

46%

Mockito

8%

我不为 Java 编写单元测试

7%

PowerMock

6%

TestNG

5%

JMockit

4%

我编写单元测试,但不使用任何框架

3%

EasyMock

3%

Spock

3%

其他

Marit van Dijk

JetBrains 的技术布道师和 Java Champion

很高兴看到 JUnit 被广泛使用,并且大多数开发者似乎都在编写单元测试。对于不编写单元测试的一小部分人,我希望他们使用集成测试!

您使用哪种(哪些)Web 框架?

72%

Spring Boot

39%

Spring MVC

4%

Quarkus

3%

Ktor

3%

JSF

2%

Micronaut

2%

Grails

1%

Vaadin

1%

Helidon

4%

其他

19%

Josh Long

Spring 技术布道师、Java Champion 和 Kotlin Google 开发者专家

我也使用 Spring Boot(你也可以)。

您经常使用哪种(哪些)构建系统?

74%

Maven

46%

Gradle

6%

Ant

2%

sbt

1%

Bazel

1%

其他

6%

Josh Long

Spring 技术布道师、Java Champion 和 Kotlin Google 开发者专家

我很想看到按语言细分的 Gradle 统计,包括 Groovy 或 Kotlin。我今年的新年目标是学习 Gradle 和减肥,现在看来,至少我真的有在学习 Gradle。

您经常使用哪个(哪些)版本的 Java Enterprise 规范?

33%

Java EE 8/Jakarta EE 8

10%

Jakarta EE 10

7%

Jakarta EE 9

6%

Java EE 7

4%

J2EE

2%

Java EE 6

1%

Java EE 5

20%

不确定

31%

Ivar Grimstad

Eclipse Foundation 的 Jakarta EE 技术布道师

很高兴看到 Jakarta EE 10 的使用率超过了 Jakarta EE 9。这表明,只要解决命名空间切换问题,业界就会迎接新功能。我太期待 Jakarta EE 11 发布后的数据了!

您经常使用哪种(哪些)JVM 分析器?

45%

IntelliJ IDEA 的内置分析器

17%

VisualVM

13%

JProfiler

8%

Java Mission Control

4%

NetBeans Profiler

2%

我自己的定制工具

2%

async-profiler

2%

YourKit

1%

其他

33%

Anton Arhipov

JetBrains 的技术布道师

IntelliJ IDEA 内置分析器看起来棒极了,而且变得越来越好!最近添加的行分析信息对于立即在程序中发现热点方法非常有用。预计这种嵌入式工具会越来越受欢迎。

您最常使用哪款 IDE/编辑器进行 Java 开发?

78%

IntelliJ IDEA

8%

Eclipse 或基于 Eclipse 的 IDE

6%

Visual Studio Code

5%

Android Studio

2%

NetBeans

尽管我们采取了多种措施确保受访者的代表性,但结果可能会略微偏向 JetBrains 产品的用户,因为这些用户更有可能参加调查。

您经常使用什么应用程序服务器?

60%

Apache Tomcat

16%

Jetty

6%

WebLogic

4%

JBoss EAP

4%

WildFly

4%

WebSphere

3%

GlassFish

2%

Liberty

1%

Payara

2%

其他

28%

Anton Arhipov

JetBrains 的技术布道师

Spring 和 Tomcat 的受欢迎程度之间有很强的相关性,因为 Spring Boot 会启动一个嵌入式 Tomcat 实例来运行应用程序。

您使用主要语言开发什么类型的软件?

38%

网站

24%

实用工具(用于小型任务的小应用)

22%

系统软件

22%

数据库/数据存储

21%

库/框架

18%

金融

16%

IT 基础架构

此问题向所有受访者显示,但这里的结果经过筛选,只显示 Java 开发者的回复。

在使用 Java 作为主要语言之一的开发者中,JavaScript、SQL、Python 和 HTML/CSS 是最常用的语言和技术。

过去 12 个月,您使用过什么编程语言?

62%

JavaScript

59%

SQL

50%

Python

49%

HTML/CSS

33%

Shell 脚本

28%

TypeScript

23%

Kotlin

您在教育机构学习过什么编程语言?

84%

Java

54%

Python

51%

C

42%

C++

35%

JavaScript

15%

汇编

15%

C#

您更喜欢什么样的学习内容?

50%

书面

48%

视频

1%

音频

2%

其他

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com