Features Of Java That Every Developer Must Know:
We will check over here for the new release of Java that is JDK 10. It is very much required currently and you can download it now on Oracle’s Website. This is regarded as the first release of the new release schedule where you have a new Java release every six months and it is a known fact that it is quite early currently in reality. It is not just limited to the 6 months release because every 3 years there is an LTS release which is similar to a major Java release.
1) Time-Based Release Versioning (JEP 322) :
A new schedule has been adopted by Java from JDK 10 release for every six months. There is a lot of discussion on this to check whether it is a realistic approach or not as most of them are saying that it is quite good for new features every six months and there are lots of people complaining that it is quite difficult to adopt a JDK.
2) Garbage-Collector Interface (JEP 304) :
This is another significant and useful Java 10 features which enhances the code isolation of various garbage collectors and unveils a clean interface for garbage collectors. This implies that it is simple for excluding a GC from a JDK construction.
3) Parallel Full GC for G1 (JEP 307) :
One more significant feature which enhances G1 latencies worst-case by making a complete GC parallel. If you get to know about Java 9 release then G1 was made the default GC for JVM which was made to avoid complete GC but when the collections which are concurrent will have a memory which is good enough to fall back for creating a problem.
4) Alternative Memory Devices with heap allocation (JEP 316) :
A simple cool feature for enabling the HotSpot VM for allocating the Java object heap on a different memory device as mentioned by the user. For instance, this feature makes it feasible for assigning lesser priority processes for using NV-DIMM memory and rather allocate with greater priority in a multi-JVM environment.
5) JDK Forest is consolidated into a Single Repository (JEP 296) :
Housekeeping is the new Java 10 feature over here. It will gather various repositories of the JDK forest within a single repository.
6) Root Certificates (JEP 319) :
There is one more significant change that Java 10 is about to bring. If you are aware of JDK 10 creation with the close combination of Open JDK and is quite evident from his feature. A default set is offered for a root Certification Authority that makes Open JDK construction for lots of appealing developers. It also aims to decrease the difference between Oracle JDK and Open JDK construction.
7) Java Based JIT Compiler (JEP 317) :
This is one more significant feature for enabling Java-based JIT compiler for using an experimental JIT compiler on the Linux/x 64 platform.
8) Thread-Local Handshakes (JEP 312) :
For enhanced VM performance, Java 10 feature provides the groundwork for making it feasible for working out a callback on application threads where there is no performance of a global VM savepoint. There are various enhancements done for this feature of JEP 312 with few barriers for removing the JVM by only stopping isolated threads for revoking biases.
9) Get away from the native-header Generation Tool (JEP 313) :
This is one more Java 10 feature that targets the housekeeping and it will throw away the java tool from the JDK having an isolated for generating header files for going through javac.
Reference site: Javarevisited