Java Tutorial

Java Control Statements

Object Oriented Programming

Java Built-in Classes

Java File Handling

Java Error & Exceptions

Java Multithreading

Java Synchronization

Java Networking

Java Collections

Java Interfaces

Java Data Structures

Java Collections Algorithms

Advanced Java

Java Miscellaneous

Java APIs & Frameworks

Java Class References

Java Useful Resources

Java 14 - New Features



Java 14 is a major feature release and it has brought many JVM specific changes and language specific changes to JAVA. It followed the Java release cadence introduced Java 10 onwards and it was releasd on 17 Mar 2020, just six months after Java 13 release.

Java 14 is a non-LTS release.

New Features in Java 14

Following are the major new features which are introduced in Java 14.

  • JEP 361 − Switch Expressions − Now a standard feature allowing switch to use return values via yield.

  • JEP 368 − Text Blocks − A second preview feature to handle multiline strings like JSON, XML easily.

  • JEP 305 − Pattern matching for instanceOf − instanceOf operator enhanced to carry a predicate.

  • JEP 358 − NullPointerException message − NullPointerException now can send detailed message.

  • JEP 359 − Records − A preview feature introducing a new type record.

  • JEP 343 − Packaging Tool − New packager based on javapackager introduced.

  • JEP 345 − NUMA aware G1 − G1 garbage collector is now NUMA aware.

  • JEP 349 − JFR Event Streaming − The package jdk.jfr.consumer, in module jdk.jfr, is enhanced to subscribe to events asynchronously.

  • JEP 352 − Non-Volatile Mapped Byte Buffers − New File mapping modes added to refer to Non-Volatile Memory, NVM.

  • JEP 363 − CMS Garbage Collector Removed − Concurrent Mark Sweep (CMS) Garbage Collector deprecated in Java 9 is removed.

  • JEP 347 − Pack200 Tools and API Removed − pack200 and unpack200 tools, and the Pack200 API from java.util.jar are removed.

  • JEP 370 − Foreign-Memory Access API − A new API to access foreign memory outside of heap space.

Deprecation & Removals

The following are the list of Deprecation and Removals in Java 14 −

Deprecations

  • Solaris and SPARC Ports (JEP 362) − because this Unix operating system and RISC processor are not in active development since the past few years.

  • ParallelScavenge + SerialOld GC Combination (JEP 366) − since this is a rarely used combination of GC algorithms, and requires significant maintenance effort

Removals

  • Concurrent Mark Sweep (CMS) Garbage Collector (JEP 363) − This GC was deprecated in Java 9 and is replaced with G1 as default GC. There are other high performant alternatives as well like ZDC, Shenandoah. This GC was kept for 2 years for interested users to maintain. As there is no active maintenance, this GC is now completed removed from Java 14.

  • Pack200 Tools and API (JEP 367) − These compression libraries were introduced in Java 5 and were deprecated in Java 11. Now these libraries are completely removed from Java 14.

Advertisements