Java 10: New Features And Enhancements

Oracle has recently delivered the new Java 10 within the previously announced deadline. It is a feature release of the Java SE platform which got released on March 20, 2018. It contains various new features and enhancements in many functional areas. Some of its key improvements include enhancements for garbage collection and compilation as well as local variable types.

Georges Saab, vice president of Software Development in Oracle’s Java Platform Group, said that “Oracle is committed to rapidly evolving and delivering new innovations in the Java platform – this being the first in our newly adopted release cycle and licensing model. We’re especially proud of the simplicity of this release, which introduces useful new features, removes unnecessary elements, and Java 10 is easy for developers to use.”

Read Also: 5 Things You Need to Know About Java 9

Java 10 is scheduled to be a short-term release and its public updates are slated to end in six months. Moreover, the JDK 11 will be the long-term support (LTS) version of Java which is due in September.

You can download Java 10 by clicking here.

Java 10 features

The new Java features are defined through the JDK Enhancement Proposals (JEP) process and are mentioned below:

Application Data-Class Sharing

In Java 10, JEP means the existing Class-Data Sharing (“CDS”) a feature for allowing application classes to be placed in the shared archive in order to improve startup and footprint.

Parallel Full GC for G1

Java 10 improves G1 worst-case latencies by making the full GC parallel.

Garbage Collector Interface

It will improve the source code isolation of different garbage collectors by introducing a clean garbage collector (GC) interface.

Consolidate the JDK Forest into a Single Repository

It will combine the numerous repositories of the JDK forest into a single repository to simplify and streamline development.

Local-Variable Type Inference

Java 10 will enhance the Java Language to extend type inference to declarations of local variables with initializers and also introduces var to Java, something that is common in other languages.

Remove the Native-Header Generator Tool

It will remove the java tool from the JDK since it has been superseded by superior functionality in javac.

Thread-Local Handshakes

It introduces a way to execute a callback on threads without performing a global VM safepoint. This makes it both possible and cheap to stop individual threads and not just all threads or none.

Time-Based Release Versioning

Java 10 revises the version-string scheme of the Java SE Platform and the JDK, and related versioning information, for present and future time-based release models.

Root Certificates

It provides a default set of root Certification Authority (CA) certificates in the JDK.

Heap Allocation on Alternative Memory Devices

It enables the HotSpot VM to allocate the Java object heap on an alternative memory device, such as an NV-DIMM, specified by the user.

Experimental Java-Based JIT Compiler

It enables the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform.

Additional Unicode Language-Tag Extensions

Java 10 will enhance the java.util.Locale and related APIs to implement additional Unicode extensions of BCP 47 language tags.

Removed Features and Options in Java 10

This will describe the Java 10 APIs, features, and options that were removed in Java SE 10 and JDK 10. It may also identify potential compatibility issues that you could encounter when migrating to JDK 10.

Removed Java 10 features and options

Image Source: Oracle

Deprecated Features and Options in Java 10

This will describe the deprecated Java 10 features, APIs, and options that have been identified as deprecated in this release and are subject to removal from future versions of Java SE and the JDK. They should be used with that possibility in mind.

 

Image Source: Oracle

For additional changes and information about this release, you can refer to this link.

Final thoughts on JAVA 10

So overall, it seems that this release is not exactly a cause for alarm as it doesn’t contain any major changes that may require adaptation. However, it represents the first release in the new, more frequent and gradual release cycle. It’s impressive enough that Java 10 was delivered as-promised and Just-in-Time like its compiler. The coming time will tell “Will Java community accept the new delivered model”. For developers, the new Java is much more useful than its previous versions.

We know that the popularity of Java is on the rise due to its incredible features. Even after more than 20 years, Java continues to move at an exciting and accelerated pace. So, if you are planning to outsource the development work or hire Java developers then we at ValueCoders are always there for you. Because our web app developers guaranteed SLA’s, have implemented over 4200+ projects, having 13+ years of experience, we are having over 2500 happy customers and provide a zero-billing guarantee.

 

About the Author

Mantra is a Business Consultant & strategic thought leader bridging the divide between technology and client satisfaction. With 12 years of knowledge, innovation and hands-on experience in providing consultations to Startups, ISVs & Agencies who need dedicated development & technology partners. He has also lead to the delivery of countless successful projects.
Blogging is his passion & he shares his expertise here through ValueCoders.. Follow him on Twitter & LinkedIn

Leave a Reply

Your email address will not be published. Required fields are marked *

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