The Latest Update on JDK9
One of the most exciting Java-related news of January 2017 has come from an e-mail from Mark Reinhold who works with Oracle as the Chief Architect of the Java Platform Group. On January 19th 2017, Reinhold sent a mail to JDK developers stating that feature extensions of JDK 9 have been finalized. Now, that is great news. This prompted a lot of people to look up at the JDK 9 webpage for more information. The original e-mail that Reinhold wrote to developers is also published on this site in the section titled—Status. In this blog, I will try to summarize all of the important updates related to the JDK 9. The information that I will cover includes the current status, milestone calendar, and features in brief. So, let’s first know about the status. Current Status: According to the e-mail referenced above, the feature extension milestone was accomplished in December 2016. This means that the features are final. But, the mail mentioned, “It is highly unlikely that any further JEPs will be targeted to the release.” The use of “highly unlikely” shows a reluctance at accepting the closure of JDK Enhancement Proposal (JEP) process. Without synthesizing the language and focusing on apparent meaning, it seems that the JDK 9 master forest in now up-to-date with all the required JEPs. Let’s proceed to the milestone calendar.
Milestone Calendar: The schedule published on the JDK 9 webpage shows that the as of December 22, 2016, the feature extension work is complete. At present, the rampdown process (RDP) is in full swing. This seems to have started on January 5, 2017. By February 9, 2017, all test run should be complete. The JDK 9 after completing the remaining interim milestones should be available for general use by July 27. 2017. You can view the complete schedule from the official JDK 9 webpage. Features in Brief: There is a comprehensive list of features published on the website and each feature has a dedicated page with details like the author, owner, date of creation, status, type, etc. All of these important details are followed by a summary, the motivation behind the work, description, testing, and risk and assumptions. There are a total of 89 features listed on the page and it would practically not be possible for me to discuss each of these in detail. So, I will only discuss the top 5 listed features in the blog. You can view the complete details about each of the feature from the JDK 9 webpage. Let’s proceed with the features. Process API Updates: The previous versions of the Java Standard Edition (SE) had some issues with application programming interface (API) classes that made it difficult for the programmers to work with the operating-specific processes. This particular limitation often compelled developers to use native code which was extra work. The JDK 9 feature “Process API Updates” claims to have worked toward improving thejava.lang.Process class to solve this issue. HTTP2 Client: Every Java programmer is well-aware of HttpURLConnection API. There have been numerous issues with its use and implementation and the feature update for JDK 9 seems to have finally found a solution by delivering the API as an incubator module. If you visit the JDK 9 official page for this feature, you will see a long list of goals and non-goals, and even alternates. Improve Contended Locking: Performance improvement is the goal behind every update and improving the performance of contended Java object monitors is a step forward. In terms of the goals, a few from the list includes improving test results for CallTimerGrid, Dacapo-bach, avrora, etc. Besides, the test information clarifies that no functional test has been done on Java monitors because of its wide usage. Variety of stress tests like speed up
PlatformEvent::unpark() sub-task stress tests, Fast Java monitor enter operations subtask stress tests, etc. have been performed. Unified JVM Locking: With this feature, the developers have announced a common system for logging messages for Java virtual machine (JVM). This features aims to ease the work involved in identifying the issues that cause crashes which was previously impossible because of complexities involved in JVM. The official webpage has sample syntaxes to give clarity in terms of the suggested changes. Compiler Control: It seems that JDK 9 features have some important updates to fine tune the working of JVM. The compiler control update is also directed to improving the JVM compilers. There is an introduction of a compiler directive which will serve as base on compilation. The webpage includes format of the directive along with examples for clarity. There are still 84 more features that you can look for. Many programmers are waiting for the availability date to try these features and experience whether JDK 9 was worth the wait. Everything shared by java application development experts in this post is according to their knowledge and experience. This Article is originally Posted on:https://onmogul.com/stories/the-latest-update-on-jdk-9