Updating to Java 12? Or waiting for the next LTS version?

Share
  • March 25, 2019

By now, we’ve shouted about the Java 12 release loud enough from the rooftops that everyone and their neighbor knows. But just in case you haven’t heard, JDK 12 is here and offers plenty of new enhancements. It reached general availability on March 19, 2019.

Have you hopped on board Java 12?

Of course, JDK 12 is not a long-term support version. With the new faster Java release cadence, every six months an update will introduce features. (View Oracle’s roadmap to see when support for previous versions ends.)

However, these new releases don’t make the previous version obsolete as they did in the past. This means that you can stay with your long-term support version, or hop on board the latest version and see what’s new. Long-term support releases are now every three years, while new features release every six months. That fast-paced cycle gives you a lot of options when it comes to deciding when to upgrade.

SEE ALSO: Shenandoah: Ultra low-pause garbage collector in Java 12

JDK 12: What does it bring to the table?

This is a smaller upgrade when compared to JDK 10 which brought 10 enhancements and JDK 11, which gave us seventeen enhancements.

Latest additions include:

  • JEP 189: Shenandoah. An experimental low-pause time garbage collector, tested and developed by Red Hat. This GC is designed to work with large heaps.
  • JEP 30: Microbenchmark suite. A basic suite of microbenchmarks that make it easy to run existing microbenchmarks or create new ones.
  • JEP 325: Switch expressions. Get a preview of this feature as Java prepares to support pattern matching.
  • JEP 334: JVM constants API. Check out a snapshot of this API.
  • JEP 340: One AArch 64 port, not two. This removes all of the sources related to the arm64 port, while retaining the 32-bit ARM port and the 64-bit aarch64 port.
  • JEP 341: Default CDS archives: Improve out-of-the-box start up time.
  • JEP 344: Abortable mixed collections. Make G1 mixed collections abortable if they might exceed the pause target.
  • JEP 346: Promptly return unused committed memory from G1: Just what it says on the box. This enhances the G1 garbage collector.

It also includes support for Unicode 11, which introduced 684 new characters (counting 66 emoji).

Here’s the full release notes.

SEE ALSO: JAX London 2019 call for papers open until April 1

Overall, none of these enhancements are going to change the way you use the JDK too much. However, it includes quality of life upgrades, a new GC, and the new  switch expression preview.

When we spoke with Donald Smith, Senior Director and Product Management for Java at Oracle, he had this to say about the new features:

…the feature I’m most keen on in this release is Switch Expressions, which will give developers a chance to clean up some of the massive switch statements and convoluted if-then-else blocks that can make code quite hard to follow.

Donald Smith

Adopting Java 12?

So, give us the scoop. Are you an early JDK adopter? We wanna know what version of Java our readers are using!

Are you upgrading to Java 12?

Help us out and answer our poll.

Note: There is a poll embedded within this post, please visit the site to participate in this post’s poll.

The post Updating to Java 12? Or waiting for the next LTS version? appeared first on JAXenter.

Source : JAXenter