What is going on with Java?

Rodrigo Soares Chaves
Javarevisited
Published in
5 min readJul 30, 2019

Java for more than 25 years, which is an impressive remark for any programing language. We can estimate nowadays that at least 50 programming languages competing for every day to be at the top of the market.

What makes Java more impressive is the fact to be always in the top 5 most adopted languages in the market in the past 5 years. You can check: TIOBE or REDMONK

TIOBE languages Popularity 07-2019

To keep Java still a competitive language and at the top, changes are needed, and this new model can be confusing even for more experienced engineers, so my goal with this article is to simplify and show what is going on.

Before Java 8

Before Java 8 we only had 8 JDK releases, in a period of 15 years:

  • JDK 1.0 (January 23, 1996)
  • JDK 1.1 (February 19, 1997)
  • J2SE 1.2 (December 8, 1998)
  • J2SE 1.3 (May 8, 2000)
  • J2SE 1.4 (February 6, 2002)
  • J2SE 5.0 (September 30, 2004)
  • Java SE 6 (December 11, 2006)
  • Java SE 7 (July 28, 2011)

JDK 8 is considered one of the biggest and most important releases from Java, history. The number of features added on this release is insane, but let's focus on the most important:

Jetbrains released research in 2018, “The State of Developer Ecosystem Survey in 2018”, here. Java 8 is the most adopted version, in their IDE.

But is important to highlight the increasing on JAVA 9, and it is about this what we gonna discuss in this article.

After Java 9 — The New Release Model

Things are moving fast now, for Java to keep as one of the most popular languages 8 releases in per year is definitely not enough. Based on that Oracle decide to define a new Release Model, with a forecast until 2025.

Oracle will release a new version of JAVA every 6 months, this releases they can be LTS or not LTS. That means JDK will have consistency new releases with features implemented, but only the one released on LTS (Long time support JDK), will be the one that you can expect in the future versions.

Open JDK vs Oracle JDK

OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. Open JDK is supported by Oracle and from now they will have the same codebase, the difference is that Oracle can add features for commercial purpose on Oracle JDK. Let’s see what are the differences:

  • Both OpenJDK and Oracle JDK are created and maintained currently by Oracle only.
  • OpenJDK and Oracle JDK are implementations of the same Java specification passed the Java Technology Certification Kit.
  • From Java 11, forward OpenJDK builds will be essentially identical
  • Most of the vendors of JDK are written on top of OpenJDK
  • Starting with JDK 11 accessing the long-time support Oracle JDK/Java SE will now require a commercial license, for production environments
  • Performance of both JDKs should be similar.

The biggest change is that Oracle JDK, JAVA 10 (July 2018), will be free the last free version of Oracle JDK, after that to run Oracle JDK on a production environment you will be required to purchase a commercial license.

According to “JVM Ecosystem Report 2018”, let’s see what this represent on the market:

Which Java vendor’s JDK do you use in production for your main applications.

Oracle JDK represents in some market 70% of the production environment, which is interesting to see, is a growing demand for OpenJDK in the near future.

With this new Model developers are learning how to react with these changes:

How do you plan to respond to Java’s new release cycle?

Conclusion

The Future of Java is quite promising and this new way of working will make our lives more interesting, with new challenges and new features every 6 months. We have so many internal and external variables to take in consideration that I would personally choose “Decide on a release-by-release- basis”. The “non-LTS” release still gives the power to Oracle to remove and add features as they wish or can.

My recommendation for the new JDKS, just try to upgrade and check what breaks, if you don’t have time to solve all the issues compile the code in your current version but use the new JDK and enjoy all the improvements on the VM.

I hope you like all the resources presented in this article!, If you want to learn more you can also explore these my favorite free courses to learn Java in depth

Suggested Reading

Other Useful Resources for learning Java you may like
10 Things Java Programmer Should Learn in 2019
10 Free Courses to Learn Java from Scratch
10 Books to Learn Java in Depth
10 Tools Every Java Developer Should Know
10 Reasons to Learn Java Programming languages
10 Frameworks Java and Web Developer should learn in 2019
10 Tips to become a better Java Developer in 2019
Top 5 Java Frameworks to Learn in 2019
10 Testing Libraries Every Java Developer Should Know

--

--