Lessons Learned from the JVM Ecosystem Report 2018

 ● 07th Nov 2018

4 min read

A new report examining the JVM Ecosystem was recently published by Snyk with contribution by Oracle’s Java Magazine. They surveyed 10,000+ Java developers from the community (namely, members of Java User Groups and Java Magazine subscribers).

The topics covered in the report include: Language and JDK, Tools, Application Infrastructure and CI/CD and other processes.

As with any other report that contains so much data in aggregate, some facts it uncovers are more surprising than others. Personally, I was surprised to learn that 90% of respondents are using Java and not one of the JDK-based alternatives like Kotlin or Scala (it seems the overlap between Java haters and Java users may be larger than I previously believed).

Let’s get on with it, though. What other interesting information did they find?

Language and JDK

– 91% of Java developers use OpenJDK or HotSpot (4% use J9 and 1% use Azul)
– 88% of Java developers are still on Java 7 or 8 (only 8% on 9 and above)
*The survey was open between the releases of 10 and 11
– Only 8% plan to adopt the latest version of Java following every new release, the rest plan to stick with LTS releases or are undecided

Not sure why this is? Read our post about Oracle’s decision to change the Java release cycle.

– 90% of JVM users use Java for their main application, rather than other JVM-based languages


– 45% use IntelliJ IDEA (free and/or paid), 38% use Eclipse, 11% use Apache NetBeans

Side note: One of our R&D leaders deleted his IDE completely and adapted to life without it – read his post to find out why and how.


– For principle build tools, 60% use Maven, 19% use Gradle, 6% don’t use one at all
– 74% are using Git for their Source Code Management platform, 16% are using Subversion (SVN)
– Looking at code repositories, there’s a fairly even split between GitHub (25%), BitBucket (25%) and GitLab (20%)
– Unit testing seems to be the most popular choice for testing practices with JUnit used by 78% of respondents and Mockito used by 45%
*Respondents could choose multiple answers here

Application Infrastructure

– Of those that use a cloud platform, 63% use Amazon AWS, 20% use Google Cloud, 18% use Azure (43% don’t use any cloud platform)
– 43% are running containers, 33% run VMs (33% also don’t use any cloud approach)
– 27% use Oracle database in production, 50% use SQL (MySQL, PostgreSQL or MS SQL)
– 36% don’t develop on the same app server that’s used in production (risk-takers!)
– 23% don’t know how many open source dependencies they have in their applications

Of those that DO know, 95% have at least 1 direct dependency

– 50% of respondents don’t do any sort of auditing of their codebase (24% audit code every quarter, 11% audit every 6 months)

CI/CD and Other Processes

Jenkins is by far the most popular CI server, with 57% usage, the closest runner up was ‘None’ at 21% (Bamboo has 5% usage)
– 61% of respondents don’t use CD release automation tools or don’t know which are used – Ansible leads the pack with 16% usage
24% DON’T KNOW how often code is released
– The VAST majority – 96% – (now including Oracle’s JDK!) release at least every 6 months
*72% release at least once a month
*10% release EVERY day

Final Thoughts

That was a lot of data to look at (and we didn’t even share all of the results – you can see those here). So what are the takeaways? Well, for starters, the report gave us a better understanding of the industry trends for JVM, language and tooling usage. It’s always good to know where you stand compared to your peers (but it doesn’t mean you should stop everything and follow the majority).
More interestingly, we learned about the general trends for application infrastructure and CI/CD workflows and processes. Not-so-hidden in those numbers, we see the growing popularity of cloud-based applications and accelerated workflows. What’s missing? How are these teams managing the QUALITY of their applications? 96% of respondents claim to release code at least every 6 months, but half of them don’t do any sort of periodic auditing of their codebase.
To learn more about application quality and Continuous Reliability, download our free whitepaper.

Tali is a content manager at OverOps covering topics related to software monitoring challenges. She has a degree in theoretical mathematics, and in her free time, she enjoys drawing, practicing yoga and spending time with animals.

Troubleshooting Apache Spark Applications with OverOps OverOps’ ability to detect precisely why something broke and to see variable state is invaluable in a distributed compute environment.
Troubleshooting Apache Spark Applications with OverOps

Next Article

The Fastest Way to Why.

Eliminate the detective work of searching logs for the Cause of critical issues. Resolve issues in minutes.
Learn More