The goal of this Project was to produce an open-source referenceimplementation of the Java SE 9 Platform as defined byJSR 379 in theJavaCommunity Process.
JDK 9 reachedGeneralAvailability on 21 September 2017. Production-ready binariesunder the GPL areavailable fromOracle; binaries from other vendorswillfollow shortly.
The features and schedule of this release were proposed andtracked via theJEP Process, as amended by theJEP 2.0proposal.
102:ProcessAPI Updates
110:HTTP 2Client
143:Improve ContendedLocking
158:Unified JVMLogging
165:CompilerControl
193:VariableHandles
197:Segmented CodeCache
199:Smart JavaCompilation, Phase Two
200:The ModularJDK
201:Modular SourceCode
211:Elide DeprecationWarnings on Import Statements
212:Resolve Lint andDoclint Warnings
213:Milling ProjectCoin
214:Remove GCCombinations Deprecated in JDK 8
215:Tiered Attributionfor javac
216:Process ImportStatements Correctly
217:AnnotationsPipeline 2.0
219:Datagram TransportLayer Security (DTLS)
220:Modular Run-TimeImages
221:Simplified DocletAPI
222:jshell: The JavaShell (Read-Eval-Print Loop)
223:New Version-StringScheme
224:HTML5Javadoc
225:JavadocSearch
226:UTF-8 PropertyFiles
227:Unicode7.0
228:Add More DiagnosticCommands
229:Create PKCS12Keystores by Default
231:Remove Launch-TimeJRE Version Selection
232:Improve SecureApplication Performance
233:Generate Run-TimeCompiler Tests Automatically
235:Test Class-FileAttributes Generated by javac
236:Parser API forNashorn
237:Linux/AArch64Port
238:Multi-Release JARFiles
240:Remove the JVM TIhprof Agent
241:Remove the jhatTool
243:Java-Level JVMCompiler Interface
244:TLSApplication-Layer Protocol Negotiation Extension
245:Validate JVMCommand-Line Flag Arguments
246:Leverage CPUInstructions for GHASH and RSA
247:Compile for OlderPlatform Versions
248:Make G1 the DefaultGarbage Collector
249:OCSP Stapling forTLS
250:Store InternedStrings in CDS Archives
251:Multi-ResolutionImages
252:Use CLDR LocaleData by Default
253:Prepare JavaFX UIControls & CSS APIs for Modularization
254:CompactStrings
255:Merge SelectedXerces 2.11.0 Updates into JAXP
256:BeanInfoAnnotations
257:Update JavaFX/Mediato Newer Version of GStreamer
258:HarfBuzzFont-Layout Engine
259:Stack-WalkingAPI
260:Encapsulate MostInternal APIs
261:ModuleSystem
262:TIFF ImageI/O
263:HiDPI Graphics onWindows and Linux
264:Platform LoggingAPI and Service
265:Marlin GraphicsRenderer
266:More ConcurrencyUpdates
267:Unicode8.0
268:XMLCatalogs
269:Convenience FactoryMethods for Collections
270:Reserved StackAreas for Critical Sections
271:Unified GCLogging
272:Platform-SpecificDesktop Features
273:DRBG-BasedSecureRandom Implementations
274:Enhanced MethodHandles
275:Modular JavaApplication Packaging
276:Dynamic Linking ofLanguage-Defined Object Models
277:EnhancedDeprecation
278:Additional Testsfor Humongous Objects in G1
279:ImproveTest-Failure Troubleshooting
280:Indify StringConcatenation
281:HotSpot C++Unit-Test Framework
282:jlink: The JavaLinker
283:Enable GTK 3 onLinux
284:New HotSpot BuildSystem
285:Spin-WaitHints
287:SHA-3 HashAlgorithms
288:Disable SHA-1Certificates
289:Deprecate theApplet API
290:Filter IncomingSerialization Data
291:Deprecate theConcurrent Mark Sweep (CMS) Garbage Collector
292:Implement SelectedECMAScript 6 Features in Nashorn
294:Linux/s390xPort
295:Ahead-of-TimeCompilation
297:Unified arm32/arm64Port
298:Remove Demos andSamples
299:ReorganizeDocumentation
2016/05/26 FeatureComplete 2016/12/22 FeatureExtension Complete 2017/01/05 Rampdown Start 2017/02/09 All Tests Run 2017/02/16 Zero BugBounce 2017/03/16 Rampdown PhaseTwo 2017/06/22 InitialRelease Candidate 2017/07/06 Final ReleaseCandidate 2017/09/21 GeneralAvailability
We stabilized the release in an increasingly-rigorous sequenceof phases, listed here for the record:
During those phases we used three processes to coordinate ourwork:
The milestone definitions for JDK 9 were the same as those forJDK 8,with the addition of:
Feature ExtensionComplete — The date by which JEPs and small enhancementsthat have been granted extensions via theFC extension-request process must beintegrated into the master forest.
Initial Release Candidate— The date on which the first release candidate is built andsubmitted for testing.