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

Java Development Kit for Mac

Java JDK 8 Update 131

  -  226.6 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-8u131-macosx-x64.dmg

  • MD5 Checksum

    9953fc6bee9effd7bfa5f5199ac99e33

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 8 Update 131.


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 8 Update 131 Screenshots

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

    Java JDK 8 Update 131 Screenshot 1
  • Java JDK 8 Update 131 Screenshot 2
  • Java JDK 8 Update 131 Screenshot 3
  • Java JDK 8 Update 131 Screenshot 4
  • Java JDK 8 Update 131 Screenshot 5

What's new in this version:

CHANGES:
MD5 added to jdk.jar.disabledAlgorithms Security property:
This JDK release introduces a new restriction on how MD5 signed JAR files are verified. If the signed JAR file uses MD5, signature verification operations will ignore the signature and treat the JAR as if it were unsigned. This can potentially occur in the following types of applications that use signed JAR files:
- Applets or Web Start Applications
- Standalone or Server Applications that are run with a SecurityManager enabled and are configured with a policy file that grants permissions based on the code signer(s) of the JAR file.
- The list of disabled algorithms is controlled via the security property, jdk.jar.disabledAlgorithms, in the java.security file. This property contains a list of disabled algorithms and key sizes for cryptographically signed JAR files.
- To check if a weak algorithm or key was used to sign a JAR file, one can use the jarsigner binary that ships with this JDK. Running "jarsigner -verify" on a JAR file signed with a weak algorithm or key will print more information about the disabled algorithm or key.

New system property to control caching for HTTP SPNEGO connection:
- A new JDK implementation specific system property to control caching for HTTP SPNEGO (Negotiate/Kerberos) connections is introduced. Caching for HTTP SPNEGO connections remains enabled by default, so if the property is not explicitly specified, there will be no behavior change.
- When connecting to an HTTP server that uses SPNEGO to negotiate authentication, and when connection and authentication with the server is successful, the authentication information will then be cached and reused for further connections to the same server. In addition, connecting to an HTTP server using SPNEGO usually involves keeping the underlying connection alive and reusing it for further requests to the same server. In some applications, it may be desirable to disable all caching for the HTTP SPNEGO (Negotiate/Kerberos) protocol in order to force requesting new authentication with each new request to the server.

With this change, we now provide a new system property that allows control of the caching policy for HTTP SPNEGO connections. If jdk.spnego.cache is defined and evaluates to false, then all caching will be disabled for HTTP SPNEGO connections. Setting this system property to false may, however, result in undesirable side effects:
- Performance of HTTP SPNEGO connections may be severely impacted as the connection will need to be re-authenticated with each new request, requiring several communication exchanges with the server.
- Credentials will need to be obtained again for each new request, which, depending on whether transparent authentication is available or not, and depending on the global Authenticator implementation, may result in a popup asking the user for credentials for every new request.

New system property to control caching for HTTP NTLM connection:
- A new JDK implementation specific system property to control caching for HTTP NTLM connection is introduced. Caching for HTTP NTLM connection remains enabled by default, so if the property is not explicitly specified, there will be no behavior change
- On some platforms, the HTTP NTLM implementation in the JDK can support transparent authentication, where the system user credentials are used at system level. When transparent authentication is not available or unsuccessful, the JDK only supports getting credentials from a global authenticator. If connection to the server is successful, the authentication information will then be cached and reused for further connections to the same server. In addition, connecting to an HTTP NTLM server usually involves keeping the underlying connection alive and reusing it for further requests to the same server. In some applications, it may be desirable to disable all caching for the HTTP NTLM protocol in order to force requesting new authentication with each new requests to the server

With this change, we now provide a new system property that allows control of the caching policy for HTTP NTLM connections. If jdk.ntlm.cache is defined and evaluates to false, then all caching will be disabled for HTTP NTLM connections. Setting this system property to false may, however, result in undesirable side effects:
- Performance of HTTP NTLM connections may be severely impacted as the connection will need to be re-authenticated with each new request, requiring several communication exchanges with the server
- Credentials will need to be obtained again for each new request, which, depending on whether transparent authentication is available or not, and depending on the global Authenticator implementation, may result in a popup asking the user for credentials for every new request

New version of VisualVM:
- VisualVM 1.3.9 was released on October 4th, 2016 and has been integrated into 8u131

BUG FIXES:
Correction of IllegalArgumentException from TLS handshake:
- A recent issue from the JDK-8173783 fix can cause issue for some TLS servers. The problem originates from an IllegalArgumentException thrown by the TLS handshaker code: java.lang.IllegalArgumentException: System property jdk.tls.namedGroups(null) contains no supported elliptic curves. The issue can arise when the server doesn't have elliptic curve cryptography support to handle an elliptic curve name extension field (if present). Users are advised to upgrade to this release. By default, JDK 7 Updates and later JDK families ship with the SunEC security provider which provides elliptic curve cryptography support. Those releases should not be impacted unless security providers are modified

DETAILED BUG FIX LIST:
- JDK-7155957: client-libs: java.awt: closed/java/awt/MenuBar/MenuBarStress1/MenuBarStress1.java hangs on win 64 bit with jdk8
- JDK-8035568: client-libs: java.awt: [macosx] Cursor management unification
- JDK-8079595: client-libs: java.awt: Resizing dialog which is JWindow parent makes JVM crash
- JDK-8169589: client-libs: java.awt: [macosx] Activating a JDialog puts to back another dialog
- JDK-8147842: client-libs: javax.swing: IME Composition Window is displayed at incorrect location
- JDK-7167293: core-libs: java.net: FtpURLConnection connection leak on FileNotFoundException
- JDK-8169465: core-libs: javax.naming: Deadlock in com.sun.jndi.ldap.pool.Connections
- JDK-8133045: deploy: deployment_toolkit: java.lang.SecurityException: Failed to extract baseline.versions error
- JDK-8028538: deploy: webstart: Fedora Linux issue with jnlp-servlet.jar demo source code license
- JDK-8170646: deploy: webstart: JNLP fails to get loaded with old javaws when multiple jres (jre9 and jre8u111) installed
- JDK-8075196: docs: guides: CosNaming's implementation doesn't comply with the specification
- JDK-8161147: hotspot: compiler: jvm crashes when -XX:+UseCountedLoopSafepoints is enabled
- JDK-8161993: hotspot: gc: G1 crashes if active_processor_count changes during startup
- JDK-8147910: hotspot: runtime: Cache initial active_processor_count
- JDK-8150490: hotspot: runtime: Update OS detection code to recognize Windows Server 2016
- JDK-8170888: hotspot: runtime: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments
- JDK-8166208: hotspot: svc: FlightRecorderOptions settings for defaultrecording ignored.
- JDK-8161945: install: install: REGRESSION: 8u91 update of 32 bit JRE removes preferences of the 64 bit JRE
- JDK-8172932: install: install: JRE installation fails with 1603 on Windows 10 with enabled Deviceguard
- JDK-8089915: javafx: web: Input of type file doesn't honor "accept" attribute.
- JDK-8090216: javafx: web: HTMLEditor: font bold doesn't work when an indent is set
- JDK-8144263: javafx: web: [WebView, OS X] Webkit rendering artifacts with inertia scrolling
- JDK-8150982: javafx: web: Crash when calling WebEngine.print on background thread
- JDK-8164314: javafx: web: [WebView] Debug build is no longer working after JDK-8089681
- JDK-8165098: javafx: web: WebEngine.print will attempt to print even if the printer job is complete or has an error
- JDK-8165173: javafx: web: canvas/philip/tests/2d.path.clip.empty.html fails with 8u112
- JDK-8165508: javafx: web: Incorrect Bug ID in comment for JDK-8164076
- JDK-8166231: javafx: web: use @Native annotation in web classes
- JDK-8166677: javafx: web: HTMLEditor freezes after restoring previously maximized window
- JDK-8166775: javafx: web: Audio slider works incorrectly for short files
- JDK-8166999: javafx: web: Update to newer version of WebKit
- JDK-8167098: javafx: web: Backport of JDK-8158926 to JDK 8u mistakenly used preliminary patch
- JDK-8167100: javafx: web: Minor source diffs introduced in backports of JDK-8160837 and JDK-8163582
- JDK-8167675: javafx: web: Animated gifs are not working
- JDK-8169204: javafx: web: Need to document JSObject Call and setSlot APIs to use weak references
- JDK-8170585: javafx: web: Fix PlatformContextJava type leaking to GraphicsContext
- JDK-8170938: javafx: web: Memory leak in JavaFX WebView
- JDK-8173783: security-libs: javax.net.ssl: IllegalArgumentException: jdk.tls.namedGroups
- JDK-6474807: security-libs: javax.smartcardio: (smartcardio) CardTerminal.connect() throws CardException instead of CardNotPresentException
- JDK-8168774: tools: javac: Polymorhic signature method check crashes javac
- JDK-8167485: tools: visualvm: Integrate new version of Java VisualVM based on VisualVM 1.3.9 into JDK
- JDK-8167179: xml: jaxp: Make XSL generated namespace prefixes local to transformation process