JDK 9 Is Feature Complete

JDK 9 is now feature complete, Oracle Corp. announced last week, and the final date for the general availability of Java 9 Standard Edition is set for July 27.

Oracle reached its Feature Extension Complete milestone in late December, and all JDK Enhancement Proposals (JEPs) and small enhancements that were granted extensions have been integrated into the JDK 9 "master forest" (the main directory tree of multiple repositories).

The project is now entering the first phase of the rampdown process, Mark Reinhold, chief architect of Oracle's Java Platform Group, said in a post to the JDK developer mailing list. Rampdown Phase One is the period during which "we aim to fix the bugs that need to be fixed and understand why we're not going to fix some bugs that perhaps ought to be fixed."

According to Oracle, the first phase of the rampdown process aims to accomplish three specific goals: fix all P1-P3 bugs that are new in JDK 9; fix additional P1-P3 bugs targeted to JDK 9 as time permits; and explicitly defer any P1-P2 bugs that are new in JDK 9 but will not, for good reason, be fixed in JDK 9.

At this point in the project, the overall feature set is frozen, Reinhold said, and it's "highly unlikely" that any other JEPs will be targeted for the JDK 9 release. Although small enhancements to new features will be considered, he added, "the bar is now much higher." Community members may request approval for these kinds of enhancements through the existing FC-extension process, and they might be included if they are low-risk and add small bits of missing functionality or improve usability, "especially when justified by developer feedback," he said. Also, enhancements that add significant new functionality will require very strong justification, he said, but enhancements to tests or documentation do not require advanced approval.

The final release date for the latest incarnation of the Java SE Platform has been pushed back twice. Reinhold proposed those delays, both times citing the challenges posted by Project Jigsaw. The modularization of the Java SE and the JDK is the biggest change ever for Java. Brian Goetz, Oracle's rockstar Java Language Architect, has said that support for lambdas in Java SE 8 would "change the way we program in Java every day." But JSR 376, the Java Specification Request that aims to define "an approachable yet scalable module system for the Java Platform" will bring a fundamentally new kind of programming component to Java.

This release also includes many other new features, including JShell, a Read-Eval-Print Loop (REPL) for Java that allows developers to evaluate cod snippets (declarations, statements and expressions), so they can test the code as they create it.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].