Java 9 Initial Features Announced
Last modified on August 20th, 2014 by Joe.
The first set of Java Enhancement Proposals (JEPs) that will be considered for Java 9 features are here. Java release timeline is getting enriched. Before going in the the Java 9 features detail, let us have a quick summary about what is a JEP.
Java Enhancement Proposals (JEPs)
The Java Enhancement Proposals serve as a prelude to the Java Specification Requests (JSRs). An accepted JEP passes through the following states:
- Draft: In circulation for initial review and consensus-building, by author
- Posted: Entered into the JEP Archive for wider review, by author
- Submitted: Declared ready for evaluation by author
- Candidate: Accepted for inclusion in the Roadmap by OpenJDK Lead
- Funded: Judged by a Group or Area Lead to be fully funded
- Completed: Finished and delivered
Then the JEP feeds into an already existing maintenance JSR or a new JSR created.
Initial Java 9 Features
As of now, the revealed Java 9 features are small and over a period there might be additions. Approximately two more years available for the Java SE 9 release and it will become bulky by then. Still I doubt that it cannot beat Java 8 features.
Proposed for JDK 9
- Process API Updates (JEP 102): this is to improve the API for controlling and managing operating system processes. It may bring in features like the ability to get the pid of the JVM or the processes, ability to enumerate JVM and processes, ability to deal with hundreds of sub-processes by multiplexing the output or error streams.
- HTTP 2 Client (JEP 110): This is to replace the legacy HttpURLConnection with a brand new Http client API which implements HTTP 2.0 and websockets. Existing API is outdated, hard to use and maintain. This is expected to provide rich options with ease of use.
- Light-Weight JSON API (JEP 198): Wow! this is really important and much needed. We need a sound JSON API for generating and consuming JSON data. Presently we are using different third party APIs and this is going to provide relief for many. This may adhere to the existing JSR 353.
- Improve Contended Locking (JEP 102): to improve the performance of contended Java object monitors.
- Segmented Code Cache (JEP 197): to improve the performance of the compiler with short sweep times by dividing the code cache into distinct segments and other array of changes for better performance.
- Smart Java Compilation, Phase Two (JEP 199): it is an enhancement over the already existing JEP 139. This will gradually build over it to improve the sjavac tool. It is used to build the JDK, it may be generalized so that it can be used as a build tool for any large projects. Watch out!
- Modular Source Code (JEP 201): This is project Jigsaw, previously it was planned for Java SE 7 and latter postponed to Java SE 9. This is going to be one of the major features in Java 9. This is about reorganizing the source code in modules so that it can be easily scaled down for small devices, to enable better security, improve performance and maintainability. To introduce better tools to support the Java developers.
This is a summary of the features that may be part of Java 9. Read the JEPs, try to contribute to the development, commit patches and be part of the next big Java release.
Joe its was really great to know about the java 9. Great. Waiting for its alpha release.
Nice to hear about this.We are really waiting for http2 clients and json. I need to study on the rest. Really love to be a part of this initiative, unfortunately my knowledge is limited to java Api usages , never worked on creating Api. Please let me know if I can help in anyways.
Mukesh Koshy M
Thanks for information JOE . Waiting for this release.
It was really excited! Thanks a lot ;)
Thanks JOE.. This http2 and json Features are very much required. Waiting for the release :)
Good Info Joe.. Thanks for Sharing …
Any plans to make javac multi-threaded? With today’s multicore CPUs, high IOPS and very fast SSDs, a mukti-threaded javac could improve compile times substantially.
I’d like to see continuations/yield supported in JDK9. Experimental support was implemented in Da Vinci VM, so it’s just a question of porting it and finishing it off.
Slowly you have taken me to my next level of expertice in Java. Thank you very much for you sharing.
Nice to heard a new release of Java, but we are not yet used to with Java 8.
Ahh …brief list. Thanks Joe.
Nice to hear about this.We are really waiting…….!!!!!!!!!!!!!!!!
Java is now and forever