Skip to main content

Development

Java SE 9 Discovery

Eventually the Java Standard Edition 9 was released along with J2EE 8 after a long wait. This news is not overwhelming in the media report like other exciting technologies of artificial intelligence, cloud etc. However, per the recent programming language ranking report, Java is still one of the most popular languages. In http://statisticstimes.com, for both TIOBE Index, PYPL Index, Java is ranked at number ONE, which means any evolvement or new features will have impact on lots of developer and machines.

It was stated a bunch of key changes and features in Java release note: https://docs.oracle.com/javase/9/whatsnew/toc.htm#JSNEW-GUID-C23AFD78-C777-460B-8ACE-58BE5EA681F6. This list is pretty long, but to me (as a Java developer), I’m interested in discovering some key changes and would like to discover more on the downstream Java related framework, tools and codes.

Modular System. From Java documentation, the JDK itself was structured to the modules. Java 9 provides the options to the tools javac, jlink, and java where you can specify module paths, which locate definitions of modules, and introduce a modular jar files.  It also adds the JMOD format, which is a packaging format similar to JAR except it can include native code and configuration files.

Within a .jmod, file, here is the structure and you can see a file “module-info.class” in the root directory.

In the modular system, it enable the developer to combine JDK’s modules into your own custom configuration. It also restructures the JDK and JRE runtime images to improve performance, security, and maintainability. Be noticed that rt.jar and tools.jar was removed already from the Java runtime image.

Tooling. In the J2SE 9 version, it provides some tools to assist you to inspect, link and find some dependency.

  • Jlink. This tool is used to assemble and optimize a set of modules and their dependencies into a custom runtime image.

  • Jmod. Jmod tool to create JMOD files and list the content of existing JMOD files.

  • Jdeps. This command the package-level or class-level dependencies of Java class files.

Jigsaw project. Very early this project begin since 2008 and designed since 2014 targeting for Java 9. The main goal of this project is to resolve the modular as mentioned above, by applying to source code, run-time image and encapsulate most internal APIs.

Performance Improvement. In the new version, it improves contended locking per the requirement in EP 102; makes the segemented code cache by dividing the code cache into distinct segments. And it adds feature of smart java compilation.

H5 Format. It supports generating HTML5 output. To get fully compliant HTML5 output, ensure that any HTML content provided in documentation comments are compliant with HTML5. This should beneift for the users if they want to read doc over tablet or smart phone.

Installation. Now during your JDK installation, you get an option saying “Enable Java Content in the Browser”. This is for the intention of deprecating Java Plug-in and associated applet technologies. And I the future release, Applet technologies will be considered for removal from the Oracle JDK and JRE. Everyone knows we’re moving into a modern web development stardard era while applet technology sounds a bit old.

We believe all Java relavant framework and tooling will adjust its strategy and standards to fit into and support for Java SE 9. Lets stay tuned.

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.

Kent Jiang

Currently I was working in Perficient China GDC located in Hangzhou as a Lead Technical Consultant. I have been with 8 years experience in IT industry across Java, CRM and BI technologies. My interested tech area includes business analytic s, project planning, MDM, quality assurance etc

More from this Author

Categories
Follow Us
TwitterLinkedinFacebookYoutubeInstagram