JDK 10 Release Candidate Phase
Did someone say Java 10 RC? Check out Oracle's process proposal as Java prepares to switch to a six-month release cadence.
Join the DZone community and get the full member experience.Join For Free
Mark Reinhold's mailing list message "JDK 10 Release Candidate Phase: Process proposal" was posted today and opens with the sentence, "Per the JDK 10 schedule, we'll enter the Release Candidate Phase next week, on Thursday, 8 February." Reinhold proposes that the JDK 10 Release Candidate Phase be enacted in the same manner as the JDK 9 Release Candidate Phase and he provides a link to the (proposed) "JDK 10 Release-Candidate Phase" page. That page outlines the proposed processes associated with the JDK 10 Release Candidate Phase with a specific focus on the level of bug fixes targeted for JDK 10. The bugs are categorized as P1 through P5 and once the JDK 10 Release Candidate Phase is entered, "all P2-P5 bugs must be left to future releases" and the focus will be on fixing "all P1 bugs that are new in JDK 10 and critical to the success of the release."
At the time of this writing, the following twelve features are targeted for JDK 10 as we're about to enter the Release Candidate Phase:
- JEP 286: Local-Variable Type Inference
- JEP 296: Consolidate the JDK Forest into a Single Repository
- Described by Ben Evans as "purely housekeeping."
- JEP 304: Garbage-Collector Interface
- "Improve the source code isolation of different garbage collectors by introducing a clean garbage collector (GC) interface."
- JEP 307: Parallel Full GC for G1
- Release Note: JEP 307: Parallel Full GC for G1: "With JEP 307 the full GC has been parallelized and now use the same amount of parallel worker threads as the young and mixed collections."
- JEP 310: Application Class-Data Sharing
- "To improve startup and footprint, extend the existing Class-Data Sharing ("CDS") feature to allow application classes to be placed in the shared archive."
- JEP 312: Thread-Local Handshakes
- "Make it both possible and cheap to stop individual threads and not just all threads or none."
- JEP 313: Remove the Native-Header Generation Tool (javah)
- Replaced by JDK 8's addition of javac support for generating native headers
- JEP 314: Additional Unicode Language-Tag Extensions
- "Add support for ... additional extensions: cu (currency type), fw (first day of week), rg (region override), tz (time zone)."
- JEP 316: Heap Allocation on Alternative Memory Devices
- "Enable the HotSpot VM to allocate the Java object heap on an alternative memory device."
- JEP 317: Experimental Java-Based JIT Compiler
- "Enable the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform."
- JEP 319: Root Certificates
- "Open-source the root certificates in Oracle's Java SE Root CA program in order to make OpenJDK builds more attractive to developers, and to reduce the differences between those builds and Oracle JDK builds."
- JEP 322: Time-Based Release Versioning
- "Feature releases ... contain new features"
- "Update releases ... only fix bugs"
- Java 10 Checklist: Meet the Declaration That Will Change the Way You Code (January 2018)
- 9 code and framework trends to watch in 2018 (January 2018)
- It's a done deal! The next Java version will be JDK 10 (December 2017)
- What's Planned for JDK 10? (November 2017)
- Java 10 - The Story So Far (November 2017)
Published at DZone with permission of Dustin Marx, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.