{"version":"14","name":"Java 14","ga":"2020-03-17","eol":"2020-09-15","umbrellajsr":"389","latestversion":"14.0.2","status":"EOL","bytecode":"58.0","unicode":"12.1.0","documentation":{"notes":"https://www.oracle.com/java/technologies/javase/14-relnote-issues.html","vm":"https://docs.oracle.com/javase/specs/jvms/se14/html/index.html","lang":"https://docs.oracle.com/javase/specs/jls/se14/html/index.html","api":"https://docs.oracle.com/en/java/javase/14/docs/api/","tools":"https://docs.oracle.com/en/java/javase/14/docs/specs/man/index.html"},"scm":[{"type":"git","url":"https://github.com/openjdk/jdk14u"}],"updates":[{"version":"14","tag":"jdk-14-ga","date":"2020-03-17"},{"version":"14.0.1","tag":"jdk-14.0.1-ga","date":"2020-04-14"},{"version":"14.0.2","tag":"jdk-14.0.2-ga","date":"2020-07-09"}],"features":[{"title":"NUMA-Aware Memory Allocation for G1","category":"jvm","refs":[{"type":"JEP","identifier":"345","href":"https://openjdk.java.net/jeps/345"}]},{"title":"JFR Event Streaming","category":"jvm","refs":[{"type":"JEP","identifier":"349","href":"https://openjdk.java.net/jeps/349"}]},{"title":"Helpful NullPointerExceptions","category":"jvm","refs":[{"type":"JEP","identifier":"358","href":"https://openjdk.java.net/jeps/358"}]},{"title":"Deprecate the Solaris and SPARC Ports","category":"jvm","refs":[{"type":"JEP","identifier":"362","href":"https://openjdk.java.net/jeps/362"}]},{"title":"Remove the Concurrent Mark Sweep (CMS) Garbage Collector","category":"jvm","refs":[{"type":"JEP","identifier":"363","href":"https://openjdk.java.net/jeps/363"}]},{"title":"ZGC on macOS","category":"jvm","refs":[{"type":"JEP","identifier":"364","href":"https://openjdk.java.net/jeps/364"}]},{"title":"ZGC on Windows","category":"jvm","refs":[{"type":"JEP","identifier":"365","href":"https://openjdk.java.net/jeps/365"}]},{"title":"Deprecate the ParallelScavenge + SerialOld GC Combination","category":"jvm","refs":[{"type":"JEP","identifier":"366","href":"https://openjdk.java.net/jeps/366"}]},{"title":"Switch Expressions","category":"lang","refs":[{"type":"JEP","identifier":"361","href":"https://openjdk.java.net/jeps/361"},{"type":"AlmanacFeature","identifier":"switch","href":"https://javaalmanac.io/features/switch/"}]},{"title":"Records","category":"lang","preview":true,"revision":1,"refs":[{"type":"JEP","identifier":"359","href":"https://openjdk.java.net/jeps/359"},{"type":"AlmanacFeature","identifier":"records","href":"https://javaalmanac.io/features/records/"}]},{"title":"Text Blocks","category":"lang","preview":true,"revision":2,"refs":[{"type":"JEP","identifier":"368","href":"https://openjdk.java.net/jeps/368"},{"type":"AlmanacFeature","identifier":"textblocks","href":"https://javaalmanac.io/features/textblocks/"}]},{"title":"Pattern Matching for instanceof","category":"lang","preview":true,"revision":1,"refs":[{"type":"JEP","identifier":"305","href":"https://openjdk.java.net/jeps/305"}]},{"title":"Non-Volatile Mapped Byte Buffers","category":"api","refs":[{"type":"JEP","identifier":"352","href":"https://openjdk.java.net/jeps/352"}]},{"title":"Remove the Pack200 APIs","category":"api","refs":[{"type":"JEP","identifier":"367","href":"https://openjdk.java.net/jeps/367"}]},{"title":"Foreign-Memory Access API","category":"api","incubator":true,"revision":1,"refs":[{"type":"JEP","identifier":"370","href":"https://openjdk.java.net/jeps/370"}]},{"title":"Remove the Pack200 Tools","category":"tools","refs":[{"type":"JEP","identifier":"367","href":"https://openjdk.java.net/jeps/367"}]},{"title":"Packaging Tool","category":"tools","incubator":true,"revision":1,"refs":[{"type":"JEP","identifier":"343","href":"https://openjdk.java.net/jeps/343"}]}],"apidiffversions":["1.0","1.1","1.2","1.3","1.4","5","6","7","8","9","10","11","12","13"],"vendors":[{"name":"BellSoft","url":"https://bell-sw.com/","products":[{"id":"liberica","name":"Liberica","license":"GPLv2+CE","url":"https://bell-sw.com/pages/downloads/?version=java-14","platforms":["alpine-x64","linux-arm32","linux-arm64","linux-ppc64le","linux-x86","linux-x64","macos-x64","windows-x86","windows-x64"],"versions":["14"],"foojaydownload":true}]},{"name":"SAP","url":"https://sapmachine.io/","products":[{"id":"sap_machine","name":"SapMachine 14","license":"GPLv2+CE","url":"https://github.com/SAP/SapMachine/releases?q=%22sapmachine-14%22","platforms":["linux-ppc64","linux-ppc64le","linux-x64","macos-x64","windows-x64"],"versions":["14"],"foojaydownload":true}]},{"name":"Oracle","url":"https://www.oracle.com/java/","products":[{"id":"oracle","name":"Oracle JDK 14","license":"Commercial","url":"https://www.oracle.com/java/technologies/javase/jdk14-archive-downloads.html","platforms":["linux-x64","macos-x64","windows-x64"],"versions":["14"],"foojaydownload":true}]},{"name":"Azul Systems","url":"https://www.azul.com/","products":[{"id":"zulu","name":"Zulu Builds of OpenJDK 14","license":"GPLv2+CE","url":"https://www.azul.com/downloads/?version=java-14&show-old-builds=true#zulu","platforms":["alpine-x64","linux-x86","linux-x64","macos-x64","windows-x86","windows-x64"],"versions":["14"],"foojaydownload":true}]},{"name":"AdoptOpenJDK","url":"https://adoptopenjdk.net/","products":[{"id":"aoj","name":"AdoptOpenJDK","license":"GPLv2+CE","url":"https://adoptopenjdk.net/releases.html?variant=openjdk14","platforms":["aix-ppc64","linux-arm32","linux-arm64","linux-ppc64le","linux-s390x","linux-x64","macos-x64","windows-x86","windows-x64"],"versions":["14"],"foojaydownload":true}]},{"name":"Red Hat","url":"https://developers.redhat.com/products/openjdk/","products":[{"id":"redhat","name":"Red Hat build of OpenJDK 14","license":"GPLv2+CE","url":"https://developers.redhat.com/products/openjdk/download","platforms":["windows-x64"],"versions":["14"],"foojaydownload":true}]}]}