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:Process APIUpdates
110:HTTP 2 Client
143:Improve ContendedLocking
158:Unified JVMLogging
165:CompilerControl
193:VariableHandles
197:Segmented CodeCache
199:Smart Java Compilation,Phase Two
200:The ModularJDK
201:Modular SourceCode
211:Elide DeprecationWarnings on Import Statements
212:Resolve Lint andDoclint Warnings
213:Milling ProjectCoin
214:Remove GC CombinationsDeprecated in JDK 8
215:Tiered Attribution forjavac
216:Process ImportStatements Correctly
217:Annotations Pipeline2.0
219:Datagram TransportLayer Security (DTLS)
220:Modular Run-TimeImages
221:Simplified DocletAPI
222:jshell: The Java Shell(Read-Eval-Print Loop)
223:New Version-StringScheme
224:HTML5 Javadoc
225:JavadocSearch
226:UTF-8 PropertyFiles
227:Unicode 7.0
228:Add More DiagnosticCommands
229:Create PKCS12 Keystoresby Default
231:Remove Launch-Time JREVersion 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 TI hprofAgent
241:Remove the jhatTool
243:Java-Level JVM CompilerInterface
244:TLS Application-LayerProtocol 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 Interned Stringsin CDS Archives
251:Multi-ResolutionImages
252:Use CLDR Locale Data byDefault
253:Prepare JavaFX UIControls & CSS APIs for Modularization
254:CompactStrings
255:Merge Selected Xerces2.11.0 Updates into JAXP
256:BeanInfoAnnotations
257:Update JavaFX/Media toNewer Version of GStreamer
258:HarfBuzz Font-LayoutEngine
259:Stack-WalkingAPI
260:Encapsulate MostInternal APIs
261:Module System
262:TIFF ImageI/O
263:HiDPI Graphics onWindows and Linux
264:Platform Logging APIand Service
265:Marlin GraphicsRenderer
266:More ConcurrencyUpdates
267:Unicode 8.0
268:XML Catalogs
269:Convenience FactoryMethods for Collections
270:Reserved Stack Areasfor Critical Sections
271:Unified GCLogging
272:Platform-SpecificDesktop Features
273:DRBG-Based SecureRandomImplementations
274:Enhanced MethodHandles
275:Modular JavaApplication Packaging
276:Dynamic Linking ofLanguage-Defined Object Models
277:EnhancedDeprecation
278:Additional Tests forHumongous Objects in G1
279:Improve Test-FailureTroubleshooting
280:Indify StringConcatenation
281:HotSpot C++ Unit-TestFramework
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 the AppletAPI
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.