A majority of Java developers are using Java 8 or lower. This is based on a newly released report that revealed 79 percent of developers are using Java 8, 9 percent are using Java 7 and 3 percent are using Java 6 or below.
The JVM Ecosystem Survey Report was designed to look at the landscape of Java in terms of JDK implementations, tools, platforms and applications. The report was sponsored by Snyk and Oracle, is based off of more than 10,200 questionnaires, and was conducted through Java User Groups around the world.
The report took place between the release of Java 10 and Java 11. Due to structural changes to the JDK in Java 9, survey sponsors expected that would impact its migration and adoption. Only 4 percent of developers are using Java 9 and an additional 4 percent stated they were using Java 10.
Java 9 also brought a number of architectural changes as well as a new release cadence for Java SE versions. For instance, Java SE versions ship every six months while every two to three years a Long Term Support (LTS) release is offered. Java 9 was not a LTS release. When asked how developers are responding to Java’s new release cycle, only 8 percent stated they stay on top of the latest versions. Thirty percent decide on a release-by-release basis, 34 percent stay with the LTS release and another 28 percent “don’t know yet.”
“We expect that in the forthcoming year, best practices will emerge and companies will settle into a preferred migration cycle, which likely will vary considerably by industry,” the report stated.
When looking at JDK implementations used in production, the report found a majority of developers are using Oracle JDK for their main applications.
According to the report, 70 percent of respondents stated they use Oracle JDK in production while OpenJDK took 21 percent of the market share. Other JDK implementations included Eclipse OpenJ9/IBM J9, Android SDK, and Azul. “However, future licensing and support changes might cause these numbers to change in the future,” the report stated.
On the JDK side, the report also looked at versions of Java EE used for main applications, and the main JVM language used. About 40 percent of respondents claimed they do not use enterprise Java. Another 27 percent are using Java EE 7, and 22 percent are using Java EE 8. Java is the preferred JVM language with 9 in 10 developers claiming to use it. Other JVM languages used include Clojure, Kotlin, Groovy and Scala.
Java tools
The report also looked at the types of tools Java developers are using. According to the report, IntelliJ IDEA has surpassed Eclipse IDE with 45 percent of respondents using it. Thirty-eight percent of respondents are using Eclipse. Other IDEs used included Apache NetBeans, Vim, and Visual Studio Code.
For build tools, Maven is by far the most used in projects with 60 percent of respondents using it. This coincides with a 2016 report from RebelLabs, which found out of its 2,000 respondents, 68 percent were using Maven.
Other findings in this space included:
- SonarQube, Findbugs and Checkstyle dominate the static quality tools space
- Seventy-two percent of respondents use a static security tool in their testing
- Jenkins is the number one CI server
- Git is the top source code management platform
- GitHub and Bitbucket are tied for developers main code repository, with GitLab closely following behind
Java platforms and applications
When looking into cloud technologies, the report found almost half of respondents are not using a cloud platform of some sort. For the 57 percent that are using cloud platforms, Amazon AWS is the top cloud provider, followed by Google Cloud, Azure, Red Hat OpenShift and Oracle Cloud.
In terms of the cloud approaches respondents use, 43 percent are using containers, VMs are still in the game at 33 percent, and serverless technology is still in its infancy with only 9 percent using this approach.
Other findings included:
- Forty-three percent of respondents are not using continuous deployment or release automation tools, and 18 percent don’t know what they are using
- Front end JavaScript and SQL are the type of non-JVM languages used in applications
- Spring Boot and Spring MVC are the top web frameworks used by respondents
- Sixty-four percent of respondents develop the same app server they use in production
- 1 in 4 respondents don’t know how many open-source dependencies they have in their applications