Paul Krill
Editor at Large

9 proposed Java 9 features devs will love

feature
Oct 2, 20146 mins

Popular updates like Project Jigsaw and the new JSON API get the hype, but Java 9 promises a goldmine of new features for developers who know where to look.

Cool Java 9 proposals developers will love

Java 8 arrived earlier this year to much fanfare, including high marks for lambda expressions and JavaScript on the JVM via Nashorn. But not everything about Java 8 was a love fest, and core developers at Oracle are already chalking up plans for the next version to improve Java. 

Expected in early 2016, Java Development Kit 9, based on the Java Standard Edition 9 specification, is expected to include performance tweaks, new capabilities, and, most notably, modularity. While some proposed features could miss the final cut or be postponed to a later release, there’s already a lot to like about Java’s proposed future. Here is a preview of some of the most intriguing proposals for JDK 9 so far.

Lightweight JSON API

Lightweight JSON API

Java 9 is expected to include a lightweight JSON API to facilitate the inclusion of JSON documents and data streams in Java programming.

“JSON has become the lingua franca for Web services and it is time for Java SE to adopt functionality for interacting with and utilizing JSON documents and data streams,” a JEP document says. “This proposal is designed [to] provide the most commonly needed functionality and take advantage of Java 8/9 language and library features.”

The JSON effort aims to enable Java developers to parse and generate JSON data. A generator style API for JSON data stream output and JSON literals is also a goal.

Segmented code cache

Segmented code cache

Image by TeXample.net

Java 9 aims to divide code cache into segments to improve performance and facilitate extensions.

“Instead of having a single code heap, the code cache is segmented into distinct code heaps, each of which contains compiled code of a particular type. Such a design enables us to separate code with different properties,” the JEP states.

Top-level types of compiled code include JVM internal code, profiled and nonprofiled code, which would be separated. The organization and maintenance of compiled code has a big impact on performance, according to the JEP. Better control of the JVM memory footprint is a goal of this initiative, as is improved execution time for some compilation-intensive benchmarks.

HTTP 2

HTTP 2

Image by FotoMak

Under development by the IETF, HTTP 2 aims to improve Web page loading times and API capabilities and is based on Google’s SPDY networking protocol. “The focus of the protocol is on performance; specifically, end-user perceived latency, network and server resource usage,” according to HTTP 2 documentation on GitHub. “One major goal is to allow the use of a single connection from browsers to a website.”

Core Java developers are keeping an eye on HTTP 2 developments. “[This proposal is] basically looking at HTTP 2 and what is needed to support that,” says Georges Saab, vice president of the Java platform group at Oracle and head of the Java Standard Edition group.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author