Core Java

Java 11 is Here, Are You Ready to Make the Switch?

A year after the Java 9 release was supposed to “rock our worlds”, the LTS version we’ve ACTUALLY been waiting for is finally here

Most of the developers, teams, companies, etc. that we know haven’t updated past Java 8 yet. Even with the release of module Java 9 last year, and the quick release of Java 10 that followed in March.

It’s a bit shocking, though not surprising, that two new versions of the JDK were released in the last year and that relatively few people are using them. Of course, it’s only because the last two Java releases weren’t given very long shelf lives. Java 11 is the first Long-Term Support (LTS) release since Java 8 and will be the last for the next 3 years.

Java 11

For the rest of the releases, non-LTS versions, updates are released only for the first 6 months, until the following release.

What’s the TL;DR for Java 11?

One of the most significant game changers in this release, especially for larger companies, is the Long-Term Support element. Public releases will continue to be released only for the first 6 months of each new version, but premium (paid) support will be available for the next 3 years as illustrated in this chart:

Java 11
Source: Oracle (through CodeFX Weekly)

Aside from Java 11 offering LTS to customers, there are some more updates coming that are worth noticing:

JVM Upgrades

The majority of the JDK Enhancement Proposals (JEPs) in this version are about tweaking and improving performance of the JDK itself and will have a relatively small impact on developers’ daily work.

Eberhard Wolff noted in a recent interview with JAXenter.com, “I think the Flight Recorder and the low-overhead heap profiling might be interesting. More features for operations and better visibility into the JVM are very helpful. Often such features are overlooked because they do not change the language and are therefore less relevant to developers.”

The Flight Recorder, JEP 328, that he mentioned will “provide a low-overhead data collection framework for troubleshooting Java applications and the HotSpot JVM” and low-overhead heap profiling will be introduced with JEP 331.

Aside from these two JEPs, we’ll be getting 2 new garbage collectors in this release. The new Epsilon GC (JEP 318) should be a completely passive GC implementation that handles memory allocation but doesn’t actually implement any memory reclamation mechanism. Plus, JEP 333 introduces the experimental ZGC, a scalable low-latency garbage collector.

Lastly, this new version of the JDK is said to be much “lighter” than its predecessors because many modules will be decoupled from the platform. Java EE and CORBA modules will be removed, Nashorn JavaScript Engine will be deprecated and the Pack200 Tools and API are also out.

It almost seems like the majority of the changes in Java 11 are removing things from the platform.

Language Changes

There’s not much to report in the way of changes to the way the Java language works. Still, “the most visible feature [in Java 11] is … the new var syntax for declaring local variables” according to Guillaume Laforge. It’s hard to argue with that.

JEP 323, which will “allow var to be used when declaring the formal parameters of implicitly typed lambda expressions,” is the most visible change in JDK 11 because it will have the most direct impact on how developers actually write code.

Basically, it’s a lot of mixed feelings…

Some people are like:

I Like This The Phantom Menace GIF by Star Wars - Find & Share on GIPHY

or

Happy The Phantom Menace GIF by Star Wars - Find & Share on GIPHY

And others are more like:

Episode 4 Luke GIF by Star Wars - Find & Share on GIPHY

or

Im Getting Too Old For This Episode 4 GIF by Star Wars - Find & Share on GIPHY

or even…

The Phantom Menace GIF by Star Wars - Find & Share on GIPHY

Meanwhile, we’re just trying to be supportive…

Han Solo Optimism GIF by Star Wars - Find & Share on GIPHY

One Last Thing!

Keep track of when the next Java version will be released and stay up to date about new features and updates here: https://www.java-countdown.xyz

Published on Java Code Geeks with permission by Tali Soroker, partner at our JCG program. See the original article here: Java 11 is Here, Are You Ready to Make the Switch?

Opinions expressed by Java Code Geeks contributors are their own.

Tali Soroker

Tali studied theoretical mathematics at Northeastern University and loves to explore the intersection of numbers and the human condition. In her free time, she enjoys drawing and spending time with animals.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Igor Ganapolsky
6 years ago

Is Java 11 better than Kotlin for Android developer s?

Carl Ellis
Carl Ellis
5 years ago

One can’t but wonder if many of in the Java development community are suffering from ‘release fatigue’. The release of Java 9 was rather significant in terms of changes, the releases of versions 10 and 11, not so much. Development teams are going to have to decide based in advantages that the new releases offer and the types of applications they are implementing or supporting if making the changes are worth it. At some point one has to also realize that keeping an application at a specific software version for too long can lead to compatibility or performance issues. The… Read more »

Back to top button