The basic tool you need in order to create apps in Java

Java Development Kit (64-bit)

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Download Java JDK 16 (64-bit)

  -  150.55 MB  -  Freeware

What's new in this version:

New Features and Enhancements:
- JEP 396: Strongly Encapsulate JDK Internals by Default
- JEP 390: Warnings for Value-based Classes
- Add InvocationHandler::invokeDefault Method for Proxy's Default Method Support
- JEP 380: Unix domain sockets
- Day Period Support Added to java.time Formats
- Add Stream.toList() Method
- JEP 338: Vector API (Incubator)
- Improved CompileCommand Flag
- JEP 376: ZGC Concurrent Stack Processing
- Concurrently Uncommit Memory in G1
- JEP 387: Elastic Metaspace
- Signed JAR Support for RSASSA-PSS and EdDSA
- SUN, SunRsaSign, and SunEC Providers Supports SHA-3 Based Signature Algorithms
- jarsigner Preserves POSIX File Permission and symlink Attributes
- Added -trustcacerts and -keystore Options to keytool -printcert and -printcrl Commands
- SunPKCS11 Provider Supports SHA-3 Related Algorithms
- Improve Certificate Chain Handling
- Improve Encoding of TLS Application-Layer Protocol Negotiation (ALPN) Values
- TLS Support for the EdDSA Signature Algorithm
- JEP 397: Sealed Classes (Second Preview)
- JEP 395: Records
- JEP 394: Pattern Matching for instanceof
- JEP 392: Packaging Tool

Removed Features and Options:
- Removal of java.awt.PeerFixer
- Removal of Experimental Features AOT and Graal JIT
- Deprecated Tracing Flags Are Obsolete and Must Be Replaced With Unified Logging Equivalents
- Removed Root Certificates with 1024-bit Keys
- Removal of Legacy Elliptic Curves

Deprecated Features and Options:
- Terminally Deprecated ThreadGroup stop, destroy, isDestroyed, setDaemon and isDaemon
- Parts of the Signal-Chaining API Are Deprecated
- Deprecated the APIs That Represent DNs as Principal or String Objects

Other Notes:
- Line Terminator Definition Changed in
- Enhanced Support of Proxy Class
- Module::getPackages Returns the Set of Package Names in This Module
- Support Supplementary Characters in String Case Insensitive Operations
- Proxy Classes Are Not Open for Reflective Access
- The Default HttpClient Implementation Returns Cancelable Futures
- HttpPrincipal::getName Returned Incorrect Name
- HttpClient.newHttpClient and Might Throw UncheckedIOException
- (fs) NullPointerException Not Thrown When First Argument to Path.of or Paths.get Is null
- Incomplete Support for Unix Domain Sockets in Windows 2019 Server
- US/Pacific-New Zone Name Removed as Part of tzdata2020b
- Argument Index of Zero or Unrepresentable by int Throws IllegalFormatException.
- GZIPOutputStream Sets the GZIP OS Header Field to the Correct Default Value
- Refine ZipOutputStream.putNextEntry() to Recalculate ZipEntry's Compressed Size
- java.util.logging.LogRecord Updated to Support Long Thread IDs
- TreeMap.computeIfAbsent Mishandles Existing Entries Whose Values Are null
- Support for CLDR Version 38
- Added Property to Control LDAP Authentication Mechanisms Allowed to Authenticate Over Clear Connections
- LDAP Channel Binding Support for Java GSS/Kerberos
- Make JVMTI Table Concurrent
- IncompatibleClassChangeError Exceptions Are Thrown For Failing 'final' Checks When Defining a Class
- Object Monitors No Longer Keep Strong References to Their Associated Object
- Added 3 SSL Corporation Root CA Certificates
- Added Entrust Root Certification Authority - G4 certificate
- Upgraded the Default PKCS12 Encryption and MAC Algorithms
- Disable TLS 1.0 and 1.1
- C-Style Array Declarations Are Not Allowed in Record Components
- Annotation Interfaces May Not Be Declared As Local Interfaces
- DocLint Support Moved to jdk.javadoc Module
- Eliminating Duplication in Simple Documentation Comments
- Viewing API Documentation on Small Devices
- API Documentation Links to Platform Documentation
- Improvements for JavaDoc Search

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.