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

Java Development Kit for Mac

Java JDK 23.0.2

  -  228.47 MB  -  Freeware
  • Latest Version

    Java JDK 24

  • Operating System

    Mac OS X

  • User Rating

    Click to vote
  • Author / Product

    Oracle / External Link

  • Filename

    jdk-23_macos-x64_bin.dmg

  • MD5 Checksum

    242b0c3bd87682228cf08c6d6ecf8cff

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 23.0.2.


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 23.0.2 Screenshots

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

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

What's new in this version:

JDK 23.0.2 contains IANA time zone data 2024b which contains the following changes:
- Improve historical data for Mexico, Mongolia, and Portugal
- System V names are now obsolescent
- The main data form now uses %z
- The code now conforms to RFC 8536 for early timestamps
- Support POSIX.1-2024, which removes asctime_r and ctime_r

Other Notes:
core-libs/java.lang ➜ ProcessBuilder on Windows Quotes Argument Strings Containing Any Space Character (JDK-8335428 (not public)):
- On Windows, the ProcessBuilder has expanded the quoting of argument strings when starting a process to ensure they are recognized by the application as a single command argument. The set of space characters has been expanded from space (0x20) to include all space characters as defined by java.lang.Character.isSpaceChar, which includes all Unicode space separator characters, such as EN-SPACE (0x2002), and line separator and paragraph separator characters.

core-libs/java.time ➜ Support for Time Zone Database 2024b (JDK-8339637):
- IANA Time Zone Database has been upgraded to 2024b. This version mainly includes changes to improve historical data for Mexico, Mongolia, and Portugal. It also changes one timestamp abbreviation, for the time zone 'MET'. Also Asia/Choibalsan is now an alias for Asia/Ulaanbaatar.
- The new tzdata changes also impact some legacy time zone IDs. As per 2024b changes "EST" links to "America/Panama", "HST" links to "Pacific/Honolulu" and "MST" links to "America/Phoenix". To maintain compatibility with the Java SE specification, the java.time.ZoneId.SHORT_IDS Map has not changed. Further details are available at JDK-8342331

Fixed:
- Target class of upcall stub may be unloaded
- Extra call to MethodHandle::asType from memory segment var handles fails to inline
- LambdaForm customization via MethodHandle::updateForm is not thread safe
- File libCreationTimeHelper.c compile fails on Alpine
- [REDO] java/nio/file/attribute/BasicFileAttributeView/CreationTime.java#tmp fails on alinux3
- Support "%z" time zone abbreviation format in TZ files
- False positive in get_trampoline fast path causes crash
- Fix memory barriers for @Stable fields
- C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop
- C2/Shenandoah: SEGV in compiled code when running jcstress
- Crash due to invalid oop in nmethod after C1 patching
- C2 compilation asserts with "no node with a side effect" in PhaseIdealLoop::try_sink_out_of_loop
- Repeated call of StringBuffer.reverse with double byte string returns wrong result
- C2: Memory for TypeInterfaces not reclaimed by hashcons()
- TestLoadBypassesNullCheck.java fails improperly specified VM option
- ZGC: Division by zero in rule_major_allocation_rate
- JdkJfrEvent::get_all_klasses stores non-strong oops in JNI handles
- [JFR] Long strings should be added to the string pool
- crash: pinned virtual thread will lead to jvm crash when running with the javaagent option
- Concurrent GC crashed due to GetMethodDeclaringClass
- Build failure due to 'no_sanitize' attribute directive ignored
- Inline OopMapCache table
- VM issues warning failure to find kernel32.dll on Windows nanoserver
- map_or_reserve_memory_aligned Windows enhance remap assertion
- remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058
- Aarch64: Generate comments in -XX:+PrintInterpreter to link to source code
- runtime/handshake/HandshakeDirectTest.java causes "monitor end should be strictly below the frame pointer" assertion failure on AArch64
- Out-of-bounds array access in secondary_super_cache
- Update OS detection code to recognize Windows Server 2025
- Remove hs-atr-ci-genzgc
- IP Address error when client enables HTTPS endpoint check on server socket
- Type annotation attached to incorrect type during class reading
- CompletionFailure in getEnclosingType attaching type annotations