Over a million developers have joined DZone.

To Java or Not to Java: What the Stats Show

DZone's Guide to

To Java or Not to Java: What the Stats Show

Jelastic just released its latest stats on Java, and the news is looking good. See which Java versions, databases, and app servers their users prefer.

· Java Zone ·
Free Resource

How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.

There are tons of debates about Java, its development and ability to meet the requirements of a modern developer. Many authors determine in their posts and articles how soon Java will be extinct as a programming language, the others contradict, especially now in the lead-up to a new Java version launch. It seems the best way to see a real state of things and where it goes is to track statistics.

In Jelastic, Java is the most widely used programming language, the number of users and Java projects keep growing constantly. But let’s see what versions of JDK are chosen by the majority, what application servers and databases are installed and what are the top Java applications running in the cloud.

Java Versions

Many customers chose Java because of its portability so it could be on everything from high-end servers to smartphones. And with each new version, Java adds extra possibilities and important fixes. On the chart below, you can see the most popular JDK versions among Jelastic Cloud Platform customers: For the most part, created environments were made on Java 8 (54.6%), the next goes Java 7 (40.8%), and the least used is Java 6 (4.6%). Seems reasonable to prefer the latest updates and features.

The explosion of Android development and the release of Java 8 helped the language to strengthen its positions and keep its market dominance. And soon, another reason for the resurgence of Java is coming, as the whole world is in anticipation of JDK 9.

Java VersionsThe 9th version of its development kit will get lots of new capabilities, including modularization, a read-eval-print loop, ahead-of-time compilation, and a memory-saving improvement for strings storage.

The 9th release had been delayed to September 2017 on the count of the complexity of the modularization effort. Modular Java itself had already been deferred from Java 8, which was released three years ago. Modularity is intended to make Java more scalable, including improving its deployment on small devices. A modular application packaging capability, for instance, is intended to reduce the size of the bundled runtime image and features module awareness and custom runtime creation. Ahead-of-time compilation compiles classes to native code before launching the virtual machine, thereby improving application startup times.

Jelastic is already preparing the platform to add JDK 9 as soon as it is released. So, soon, we expect new statistics with increased indicators on Java 9 on Jelastic Cloud.

Application Servers

The true unbreakable leader and most preferable application server for Java is Tomcat, and it gets a firm, stable 1st place with 86.9% active environments. The next place is set by GlassFish (4.6%), and WildFly (3.3%) holds the third, and the next goes Jetty (2%), and the rest of servers have nearly the same percentage of environments: TomEE, Spring Boot, Smartfox, and JBoss.Application Servers Stats 2017

Let’s have a deeper look on every server’s statistics and find out the most popular versions that our clients have chosen.

Among Tomcat’s versions, users prefer Tomcat 7 (61.9%). The 8th version has more than half fewer environments (29.9%), Tomcat 6 got third place (5.9%), and the least used is Tomcat 9 (2.3%).

tomcat versions statisticsBetween the 3rd (27.8%) and the 4th (72.2%) versions of GlassFish, clients definitely show their approval for the latest. Currently, we are working on the clustered GlassFish 5 for one-click installation, but until it’s ready, feel free to test the already preconfigured versions of GlassFish.
Glassfish versions statisticsTalking about WildFly, the oldesr 8th version (64.9%) takes a double lead among the newest two: the 9th (26.3%) and the 10th (8.8%).WildFly Java Statistics


Here, let's review the usage of databases in clients’ environments. In a chart below, you can see that MySQL is surely favored among its competitors. MySQL (48.3%) got the biggest quantity of installations. And the number is growing, especially considering there's an easy way to install it with already-configured replication:

The next goes PostgreSQL (30.8%), and MariaDB is holding 3rd place (12.7%). Then comes MongoDB (6.5%). The rest of the databases got nearly 1% of all environments each: Redis, OrientDB, CouchDB, MSSQL, Neo4j, PerconaDB, Cassandra.Database servers usage in java environments


Also, we’ve gathered the overall statistics on one-click installable Java applications available and mostly used within the Jelastic platform. And as we can see on the percentage chart below, DripStat and Cyclos4 Pro appear to be both on the same level and are the most widespread applications among Jelastic customers. The following projects are less popular, but still take decent leading positions in the list: Gitblit, Alfresco, Nexus Repository Manager, Jenkins, Magnolia CMS and OpenCMS.one click installations Java

Analyzing our cloud report, we can surely say that Java has kept and has even increased its popularity. Clients mostly use the latest version of Java, and the release of the 9th version promises even more Java users to follow. The top-used servers and databases are stable and remain in their positions.

We truly hope this report will help you with the choice of services out there and gives you a clearer view on the state of Java's popularity.

How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.

java ,java 9 ,application servers ,java usage

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}