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

Java Development Kit for Mac

Java JDK 21.0.1

  -  183.5 MB  -  Freeware
  • Latest Version

    Java JDK 23.0.1

  • Operating System

    Mac OS X

  • User Rating

    Click to vote
  • Author / Product

    Oracle / External Link

  • Filename

    jdk-21_macos-x64_bin.dmg

  • MD5 Checksum

    f19eb12584ae2ffc0a2f5c541faa4b12

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Java JDK 21.0.1.


For those interested in downloading the most recent release of Java Development Kit for Mac or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • Java JDK 21.0.1 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Java JDK 21.0.1 Screenshot 1
  • Java JDK 21.0.1 Screenshot 2
  • Java JDK 21.0.1 Screenshot 3
  • Java JDK 21.0.1 Screenshot 4
  • Java JDK 21.0.1 Screenshot 5

What's new in this version:

The following root certificate has been added to the cacerts truststore:
- Certigna (Dhimyotis)
- certignarootca
- DN: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR

security-libs/java.security > Increase Default Value of the System Property jdk.jar.maxSignatureFileSize (JDK-8312489):
- The system property, jdk.jar.maxSignatureFileSize, allows applications to control the maximum size of signature files in a signed JAR. Its default value has been increased from 8000000 bytes (8 MB) to 16000000 bytes (16 MB).

Fixed:
- Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
- [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem
- MidiSystem.getSoundbank() throws unexpected SecurityException
- java/lang/ScopedValue/StressStackOverflow.java fails with "-XX:-VMContinuations"
- Socket.setOption(TCP_QUICKACK) uses wrong level
- Invalid CEN header (invalid zip64 extra data field size)
- MatchResult produces StringIndexOutOfBoundsException for groups outside match
- com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors
- The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection
- C2: setScopedValueCache intrinsic exposes nullptr pre-values to store barriers
- C2: Sinking node may cause required cast to be dropped
- C1: Incorrect LoadIndexed value numbering
- SegmentedCodeCache fails when using large pages
- SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
- C1 compilation crashes in LinearScan::resolve_exception_edge
- C1 should not inline through interface calls with non-subtype receiver
- C2 crash due to unexpected exception control flow
- Remove unused MemAllocator::obj_memory_range
- JVM should trim the native heap
- Linux: Provide the option to override the timer slack
- THPs cause huge RSS due to thread start timing issue
- [linux] SIGSEGV if kernel was built without hugepage support
- Print instruction blocks in byte units
- WSL Linux build crashes after JDK-8310233
- Rename DisableTHPStackMitigation flag to THPStackMitigation
- SymbolTable::do_add_if_needed hangs when called in InstanceKlass::add_initialization_error path with requesting length exceeds max_symbol_length
- SharedRuntime::handle_wrong_method() gets called too often when resolving Continuation.enter
- SA fails to properly attach to JVM after having just detached from a different JVM
- Add missing classpath exception copyright header
- DSA does not reset SecureRandom when initSign is called again
- Allocate BadPaddingException only if it will be thrown
- ECKeySizeParameterSpec causes too many exceptions on third party providers
- sun/security/pkcs11/KeyStore/CertChainRemoval.java fails after 8301154
- Case enumConstant, pattern compilation fails
- Multiple patterns without unnamed variables
- Strange error message when switching over long
- Incorrect warnings about implicit annotation processing
- javac -g on a java file which uses unnamed variable leads to ClassFormatError when launching that class
- MethodTooLargeException thrown while creating a jlink image
- [macOS] Developer ID Application Certificate not picked up by jpackage if it contains UNICODE characters