Java SE Development Kit versions

Provides all the necessary libraries, classes, and files for Java developers
Nov 2, 2020
Jun 22, 2020
Review
Mar 6, 2018
Review
9.0
Apr 20, 2014
Review
8.0
Feb 9, 2012
Review
7.0
Mar 3, 2008
Review
6.0
Aug 1, 2008
Editorial review
rating
1.7
Aug 1, 2008

What's new

v14.0 [Jun 22, 2020]
core-libs
- Accounting Currency Format Support
Currency format instances with accounting style, in which the amount is formatted in parentheses in some locales, can be obtained by calling NumberFormat.getCurrencyInstance(Locale) with the "u-cf-account" Unicode locale extension. For example in Locale.US, it will format to "($3.27)" instead of "-$3.27". Refer to CLDR's accounting currency format style for additional information.
See JDK-8215181
core-libs/java.lang
- JEP 359 Records (Preview)
In JDK 14, the Records (JEP 359) preview feature adds a new class java.lang.Record. The java.lang package is implicitly imported on demand, that is, import java.lang.*. If code in an existing source file imports some other package on demand, for example, import com.myapp.*;, and that other package declares a type called Record, then code in the existing source file which refers to that type will not compile without change. To make the code compile, import the other package's Record type using a single-type import, for example, import com.myapp.Record;.
See JDK-8222777
core-libs/java.nio
- Clarify the Specification of ReadableByteChannel.read() and Related Methods
The specifications of the DatagramChannel.receive(), FileChannel.read(ByteBuffer,long), ReadableByteChannel.read(), and ScatteringByteChannel.read() methods have been updated in this release to specify that an IllegalArgumentException is thrown if (any of) the buffer parameter(s) is read-only. This change merely adjusts the specification to match existing long term behavior.
See JDK-8164993
hotspot/gc
- JEP 365 ZGC on Windows
The Z Garbage Collector (ZGC) is now available as an experimental feature on Windows. To enable it, use the JVM flags -XX: UnlockExperimentalVMOptions -XX: UseZGC. See JEP 365: ZGC on Windows for more information.
See JDK-8232364
hotspot/gc
- JEP 364 ZGC on macOS
The Z Garbage Collector (ZGC) is now available as an experimental feature on macOS. To enable it, use the JVM flags -XX: UnlockExperimentalVMOptions -XX: UseZGC. See JEP 364: ZGC on macOS for more information.
See JDK-8229358
hotspot/gc
- Parallel GC Improvements
Parallel GC has adopted the same task management mechanism for scheduling parallel tasks as other collectors. This might result in significant performance improvements. Because of this change, the following product flags have been obsoleted: -XX:BindGCTaskThreadsToCPUs, -XX:UseGCTaskAffinity, and -XX:GCTaskTimeStampEntries.
See JDK-8224666
hotspot/gc
- JEP 345 NUMA-Aware Memory Allocation for G1
The G1 garbage collector now tries to allocate and keep objects on the same NUMA node in the young generation across garbage collections. This is similar to Parallel GC NUMA awareness.
G1 attempts to evenly distribute Humongous and Old regions across all available NUMA nodes using a strict interleave. Placement of objects copied from young to old generation is random.
These new NUMA-Aware Memory Allocation heuristics are automatically enabled by using the -XX: UseNUMA command line option. See JEP 345: NUMA-Aware Memory Allocation for G1 for more information.
See JDK-8210473
hotspot/jfr
- JEP 349 JFR Event Streaming
JDK Flight Recorder (JFR) now supports continuous monitoring of a Java application by allowing events to be consumed dynamically using a new API located in the jdk.jfr.consumer package. The feature is always enabled when using JFR, meaning recorded data up to the last second is available for both in process and out of process consumption. See JEP 349: JFR Event Streaming for more information.
See JDK-8184193
security-libs/java.security
- Weak Named Curves in TLS, CertPath, and Signed JAR Disabled by Default
Weak named curves are disabled by default by adding them to the following disabledAlgorithms security properties: 'jdk.tls.disabledAlgorithms', 'jdk.certpath.disabledAlgorithms', and 'jdk.jar.disabledAlgorithms'. The named curves are listed below.
With 47 weak named curves to be disabled, adding individual named curves to each disabledAlgorithms property would be overwhelming. To relieve this, a new security property, 'jdk.disabled.namedCurves', is implemented that can list the named curves common to all of the disabledAlgorithms properties. To use the new property in the disabledAlgorithms properties, precede the full property name with the keyword include. Users can still add individual named curves to disabledAlgorithms properties separate from this new property. No other properties can be included in the disabledAlgorithms properties.

v11.0 [Mar 6, 2018]
Changes:
- security-libs/java.security - Added Additional TeliaSonera Root Certificate.
- core-libs/javax.naming - Improve LDAP support
- core-svc - Changed Central File System Location for usagetracker.properties File.
- security-libs/javax.net.ssl - Disabled all DES TLS Cipher Suites.
- security-libs/javax.crypto - Improved Cipher Inputs.
Bug Fixes
- core-libs/javax.naming - LDAPS Communication Failure.
- core-libs/java.net - Better HTTP Redirection Support.

v9.0 [Apr 20, 2014]
- Refactor existing providers to refer to the same constants for default values for key length.
- Collections use serialization filter to limit array sizes.
- Add warnings to keytool when using JKS and JCEKS.
Bug fixes:
- JDK-8183297 infrastructure Allow duplicate bugid for changeset in jdk9 update forest.
- JDK-8187993 infrastructure [CPU17_04] Need to update securitypack.jar with baseline.versions file having jdk9 entry.
- JDK-8187043 javafx graphics JavaFX fails to launch on some Windows platforms due to missing VS2017 libraries.
- JDK-8089283 javafx web Padding property of the select tag is incorrect in WebView.
- JDK-8176729 javafx web com.sun.webkit.dom.NodeImpl#SelfDisposer is not called.
- JDK-8178319 javafx web Build sqlite3 from source.
- JDK-8178360 javafx web Build and integrate ICU from source.
- JDK-8178440 javafx web Build libxml2 and libxslt from source.
- JDK-8179673 javafx web JVM Crash in WebPage.setBackgroundColor() during webpage navigation (Non Public API).
- JDK-8183292 javafx web Update to 604.1 version of WebKit.
- JDK-8184448 javafx web Crash while loading gif images with more frames.
- JDK-8185132 javafx web window.requestAnimationFrame API is not working.

v8.0 [Feb 9, 2012]
Improved protection for JNDI remote class loading
Added security property to configure XML Signature secure validation mode
Serialization Filter Configuration
RMI Better constraint checking
Add mechanism to allow non-default root CAs to not be subject to algorithm restrictions
Make 3DES as a legacy algorithm in the JSSE provider
Improve the default strength of EC in JDK
New --allow-script-in-comments option for javadoc
Increase the minimum key length to 1024 for XML Signatures
Restrict certificates with DSA keys less than 1024 bits.
More checks added to DER encoding parsing code
Additional access restrictions for URLClassLoader.newInstance
A new configurable property in logging.properties java.util.logging.FileHandler.maxLocks
Trackpad scrolling of text on OS X 10.12 Sierra is very fast

Alternative downloads

Java
Java
Free
rating

You can build apps, applets and components using the Java programming language.

Java 2 Runtime Environment
Java 2 Runtime Environment
rating

Java 2 Runtime Environment gives you all the necessary to Execute JVM.

DJ Java Decompiler
DJ Java Decompiler
Free
rating

It is a Windows 95/98/ME/NT/2000/XP disassembler and decompiler for Java.

Manageability Developer Tool Kit
Manageability Developer Tool
Free
rating

Is a powerful tool that helps designers and/or developers understand Intel vPro.

PICkit (tm) Baseline FLASH Starter Kit
PICkit (tm) Baseline FLASH
rating

PICkit1 Starter Kit is a low-cost development kit with an easy-to-use interface