Java

Share:

These questions were only shown to respondents who chose Java as one of their three primary programming languages.

Mala Gupta

Developer Advocate at JetBrains

Developer Ecosystem surveys are a great way to find and analyze the ground reality that is often in contrast to what seems popular or trending. It is interesting to note that more developers are using Java 17 in production than Java 11, as well as the rise of Docker as a preferred option to package web applications. The margin with which Spring and Spring Boot lead the usage is huge!

Dr. Venkat Subramaniam

Award-winning author and founder of Agile Developer, Inc.

This is very encouraging. The results show that many organizations have come along significantly and, at the same time, there’s so much potential for improvement.

Which versions of Java do you regularly use?

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

Developer Advocate and Java Champion at JetBrains

It’s unfortunate to see so many people still using Java 8 (and older). I wonder what’s keeping them from upgrading to newer versions and getting access to great new language features, and how we can help them migrate their code to newer Java versions.

How do you package your web applications?

58%

I use Docker

56%

I use an embedded server

36%

As artifacts

4%

I use GraalVM Native Image

1%

I use jlink custom Java runtime image

5%

I'm not sure

Josh Long

Spring Developer Advocate, Java Champion and Kotlin Google Developer Expert

I think these numbers are interesting, though I wonder to what extent they overlap. I use GraalVM to compile my Spring Boot applications into native images, and Spring Boot in turn uses an embedded server (like Apache Tomcat).

Which unit testing frameworks do you use?

84%

JUnit

46%

Mockito

8%

I don’t write unit tests for Java

7%

PowerMock

6%

TestNG

5%

JMockit

4%

I write unit tests, but don’t use any frameworks

3%

EasyMock

3%

Spock

3%

Other

Marit van Dijk

Developer Advocate and Java Champion at JetBrains

It’s great to see that JUnit is widely used and most developers seem to be writing unit tests. For the small percentage that aren’t writing unit tests, I hope they use integration tests instead!

Which web frameworks do you use?

72%

Spring Boot

39%

Spring MVC

4%

Quarkus

3%

Ktor

3%

JSF

2%

Micronaut

2%

Grails

1%

Vaadin

1%

Helidon

4%

Other

19%

None

Josh Long

Spring Developer Advocate, Java Champion and Kotlin Google Developer Expert

I too use Spring Boot (and so can you).

Which build systems do you regularly use?

74%

Maven

46%

Gradle

6%

Ant

2%

sbt

1%

Bazel

1%

Other

6%

None

Josh Long

Spring Developer Advocate, Java Champion and Kotlin Google Developer Expert

I would love to have seen the Gradle numbers broken down by language, including Groovy or Kotlin. This year I have made it my new year’s resolutions to learn Gradle and to lose some weight. At least I’m definitely learning Gradle.

Which versions of Java Enterprise specifications do you regularly use?

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%

I'm not sure

31%

None

Ivar Grimstad

Jakarta EE Developer Advocate at Eclipse Foundation

It is great to see that the uptake of Jakarta EE 10 surpasses that of Jakarta EE 9. It shows that the industry is ready for new features once the namespace switch has been dealt with. Can’t wait to see the figures for Jakarta EE 11 when that comes out!

Which JVM profilers do you regularly use?

45%

IntelliJ IDEA’s built-in profiler

17%

VisualVM

13%

JProfiler

8%

Java Mission Control

4%

NetBeans Profiler

2%

My own custom tools

2%

async-profiler

2%

YourKit

1%

Other

33%

None

Anton Arhipov

Developer Advocate at JetBrains

IntelliJ IDEA built-in profiler looks fantastic, and it’s getting better all the time! The recent addition of line profiling information is very useful to spot hot methods in the program immediately. It’s quite expected that this embedded tool is getting more popular.

Which IDE / editor do you use the most for Java development?

78%

IntelliJ IDEA

8%

Eclipse or an Eclipse-based IDE

6%

Visual Studio Code

5%

Android Studio

2%

NetBeans

Despite all the measures we’ve taken to secure a representative pool of respondents, the results may be slightly shifted towards JetBrains product users, as they are more likely to take the survey.

What application servers do you regularly use?

60%

Apache Tomcat

16%

Jetty

6%

WebLogic

4%

JBoss EAP

4%

WildFly

4%

WebSphere

3%

GlassFish

2%

Liberty

1%

Payara

2%

Other

28%

None

Anton Arhipov

Developer Advocate at JetBrains

There is a strong correlation between Spring’s and Tomcat’s popularity because Spring Boot starts an embedded Tomcat instance to run the application.

What types of software do you develop with your main languages?

38%

Websites

24%

Utilities (small apps for small tasks)

22%

System Software

22%

Database / Data Storage

21%

Libraries / Frameworks

18%

Finance

16%

IT Infrastructure

This question was shown to all respondents, but the results here are filtered to display the responses of Java developers only.

JavaScript, SQL, Python, and HTML / CSS are the most frequently used languages and technologies among those who use Java as one of their primary languages.

What programming languages have you used in the last 12 months?

62%

JavaScript

59%

SQL

50%

Python

49%

HTML / CSS

33%

Shell scripting

28%

TypeScript

23%

Kotlin

Which programming languages have you formally studied at an educational institution?

84%

Java

54%

Python

51%

C

42%

C++

35%

JavaScript

15%

Assembly

15%

C#

What kind of learning content do you prefer?

50%

Written

48%

Video

1%

Audio

2%

Other

Thank you for your time!

We hope you found our report useful. Share this report with your friends and colleagues.

If you have any questions or suggestions, please contact us at surveys@jetbrains.com.