A series of Java Enhancement Proposals (JEPs) has been published on OpenJDK concerning the next major update (Java 9). Previous rumors about Java 9 features haven't had very much weight, nor particularly interesting new features, but this new feature list is packed with developer favorites that the community has been requesting for many years.
These features include:
- A light-weight JSON API — which is a source of great speculation right now about how truly useful this feature will be (as proposed by the community process).
- A HTTP 2 Client — for HTTP 2.0 and websockets.
- Process API Improvements — to improve the API for controlling and managing OS processes.
- Improved contended locking —for increasing performance between threads.
- Segmented Code Cache — to improved execution time for complicated benchmarks.
- Smart Java Compilation (Part 2) — Makes the sjavac tool available in the default JDK.
- Modular Source Code — organizes JDK source code into modules.
I'm sure plenty of you are looking pretty happy right about now. Many people have commented about how long the Java community has been waiting for a dedicated JSON API to clean up that whole mess—and performance improvements are always welcome here. The HTTP 2 client was some expected, but the updated sjavac compiler seems very interesting.
Hearing anything substantive about Java 9 this soon after Java 8 is a pretty big deal—and maybe (just maybe) JDK 9 could be on time this time, right? Well... I don't know about that. Certainly that's a lot of speculation about if Oracle will be able to meet their 2016 goal for Java 9, considering the huge delays they had with JDK 8. Sticking by the 2016 goal could mean only two years of development time, and that leaves plenty of people with very reasonable doubts.
Also, not to be tricked into satisfaction just yet, plenty of developers have expressed disappointment at what's been announced so far. A user named "refugee" on HackerNews said, "nothing pollutes java source more than getters and setters. I can't believe this still isn't being address. Wish they'd move in the direction Groovy has in this regard." His comment sparked a pretty involved discussion. Of course, comparisons to Groovy and Scala aren't entirely new criticisms.
We want to know what you think about the JDK 9 announcements! Are these features something you've been waiting for, or are very interested in exploring further? Are you somewhat underwhelmed by the slow leak of feature announcements? Do some of these proposals seem to go against improvements that you want? Comment below about how this announcement looks to you.