New Features in Java 9 that Will Change the Development Process

According to numerous surveys and ratings of programming languages, Java is still one of the most used and popular programming languages among coders. And developers are always excited about the new features that are coming with the newest version of Java. The JDK committers are working hard on preparing the next release which is expected to be completed in December 2015. After this it will undergo a number of tests and bug fixes and it should be prepared for general availability in September 2016. So what required features can we expect in Java 9?

1. Java + REPL = jshell

The next release of Java will feature a new command line tool called jshell which will add support and popularize to Java way to REPL (Read-Eval-Print-Loop). This means that if you want to run a few lines of Java on your own, you won’t have to wrap it all in a separate project or method.

There are some alternative solutions, like the Java REPL web console, but it is not official and not the true right way to do this. jshell is ready in the early release and waiting for you to test.

2. Microbenchmarks are coming

The Java Microbenchmarking Harness (JMH), by Aleksey Shipilev, has joined Java as an official benchmarking solution. JMH is Java’s harness for building, running, and analyzing nano/micro/milli/macro benchmarks. Today JMH is the best choice if you want to get the most accurate results to help you reach the right decision following the benchmarks. And now it’s becoming a synonym to Java 9.

3. HTTP 2.0 is the future

The official HTTP 2.0 RFC was approved just a few months ago and it is built on Google’s SPDY algorithm. SPDY manipulates HTTP traffic and it has already shown great speed improvements over HTTP 1.1, up to 48% and its implementation already exists in most modern browsers. Java 9 will have full support for HTTP 2.0 and will feature a new HTTP client for Java.

4. The process of API has got a huge boost

For a while there was a limited ability for controlling and managing the processes of operating systems with Java. For example, if you had to do something as simple as PID (Process IDentifier) in earlier versions of Java, you would need to access the native code or something like this. Moreover, it would require a different implementation for each platform to guarantee you’re getting the right result. The newer process of API updates will extend Java’s ability to interact with the operating system.


But what won’t we be seeing in Java 9?

1. A standardized lightweight JSON API

It seems that JSON API won’t receive any changes due to funding issues. Mark Reinhold, the chief architect of the Java platform, noticed that JEP would be a useful addition to the platform but it’s not as important as the other features that Oracle is funding for JDK 9. This probably will be reconsidered for JDK 10 or some later release.

2. Money and Currency API

In other news, it looks like the Money and Currency is also lacking Oracle’s support. Again probably it will be included in the next following version of Java.