Published February 24th, 2017 by

JDK 9 Standard Addition Feature Complete Availability In July 2017

Another delay for Java 9 is happening. Java 9 is the next major version of the enterprise language platform is delayed again. Earlier it was releasing in March 2017, and now it has got a new schedule of 27th July 2017. In this article, we are posting about Standard Edition of Java 9 only.

Maintainers of several renowned projects are testing against the Java Development Kit 9 early access builds, but Oracle would like to see be confident that potential bugs have been discovered and reported. The entire java programmers community across the world is waiting for Java 9 release.

The major features are the Project Jigsaw, APIs with Process API updates, JSON and money handling API. We will talk about them in detail. We will also talk about the removals in JDK 9 at the end.

Project Jigsaw

Project Jigsaw is intended with primary goals –

  • Make the JDK and Java Standard Edition Platform more scalable down to small computing gadgets.
  • Enable enhanced application performance
  • Enhancing the security and maintainability of java implementations generally and mainly the JDK.
  • Making the job of developers easier
  • Maintaining the code libraries and large apps, for both the Java EE and SE platforms.

To accomplish these goals, Oracle decided to design and implement a standard module system for Java. It is planning to apply that system to the JDK and platform. And for this, the module system has to be robust to modularize the JDK yet still be easily used by web developers.

API updates

Until now developers have limited ability to manage the OS processes with Java. Take an instance, to get your process PID today, you would require native access code or use some workaround. Other than this, there would be a requirement of a separate implementation for each platform to ensure correct results.

JShell tool

Oracle has brought a latest tool JShell. Java Shell is also known as Read Evaluate Print Loop used for executing and testing any Java constructs such as interface, class, enum, statements, and object with ease.

Private methods

To avoid redundant code and more repetition, Oracle is releasing private methods in JDK 9. Developers will be able to write private and private static methods in JDK 9 using ‘private’ keyword.

Methods for List, Set, Map.Entry and Map

There are some easy methods to create Absolute List, Map, Set, and Map.Entry objects. Such methods can be used by developers to create empty or non-empty Collection objects.

Optional class

Developers can now use some new methods in Java.util.Optional class.

Stream API improvements

Developers can avail four useful new methods introduced by Oracle to java.util.Stream interface. These are default methods and out of four, these two are critical – dropwhile and takewhile methods.

And the list goes-

  • Garbage Collector improvements
  • Filter Incoming Serialization Data
  • Stack-Walking API
  • Enhanced method handles
  • Java platform logging API and service
  • Deprecate the Applet API
  • Compact strings
  • Javadoc search
  • Parser API for Nashorn
  • HTML5 Javadoc

So, we have discussed major features to be expected in Java 9 release. Now let’s read about the removals.

1. Rt.jar and tools.jar

Frequently used JARs rt.jar and tools.jar are removed from Java 9. Earlier class and resource files were stored in lib/rt.jar, lib/tools.jar, lib/dt.jar along with various other internal jar files. These files will now be stored in a more efficient format in the lib directory.

2. Java DB

Java DB is a re-branded distribution of the Apache Derby database. It has the same binaries that you found in Apache Derby. Oracle has no plans to include Java DB in JDK 9.

3. Jhat

Jhat was introduced in JDK 6. It is an experimental, unsupported, and conventional tool. Removal of jhat is confirmed by Oracle and they bring alternatives to jhat – Eclipse Memory Analyzer tool and VisualVM.

Other removals include Launch-time JRE Version Selection, Packer/Unpacker addPropertyChangeListener and removePropertyListener methods, LogManager addPropertyChangeListener, removePropertyChangeListener methods, Support for serialized applets from java.desktop, etc.

Most of the items are removed from JDK 9 because of the alterations to the JDK to support modularity. Other reason is that there are better supported alternatives available.

At the end, web development community and java developers are just expecting something good is coming with JDK 9. To find what, they need to wait for its official release.

Johnny Morgan

Technical Writer at Aegis Infoways
Johnny Morgan as a technical writer at Aegis Infoways since more than 5 years. I write articles especially for Java, Python and Asp.Net. I have also got well response to write articles on CRM, Hadoop and QA.

Our rankings are completely independent, transparent, and community driven; they are based on user reviews and client sentiment. These software companies had to earn their way up and didn't just pay their way up.

View Rankings of Best Software Companies