Oracle JDK 7u40 released - security features, hardfloat ARM, Java Mission Control and more

Oracle JDK 7 Update 40 is now available. This release introduces the following new features:

  • Java Mission Control. This is an advanced monitoring/diagnostics tool inherited from JRockit, now fully supported on the JDK 7. Also adds new features such as a DTrace plugin.
  • Java Flight Recorder, again a feature ported over from JRockit. This is a really cool feature that enables you to record events and metrics during runtime, and then extract them at will. You can even dump all or part of the data on a user-defined alert. Eg, "Why did that transaction take more than 1 second? Give me the last 10 seconds of data in your buffer so that I can figure out what went wrong."
  • Support for the Apple Retina display with Swing/AWT and JavaFX.
  • A new JDK binary for hardfloat Linux/ARM, for ARM-based micro servers and development boards. Yes, this means that we now have official JDK 7 support for the default Raspbian Linux distribution for the Raspberry Pi.
  • A new Deployment Rule Set feature to enable fine granular controls for execution of Applet and WebStart applications.
  • Security feature enhancements for applets, JAXP and x.509 certificates.

The new update of the JRE and the JDK are available from OTN. For more information, see the release notes.

For Mission Control, a great source of information is Marcus Hirt's blog (thanks, Marcus!).


Some more info on the Mission Control parts can be found here:

I'll keep publishing blogs on JMC and the Flight Recorder over here:

Posted by Marcus Hirt on September 11, 2013 at 01:01 AM PDT #

Very Nice! Since I couldn't register on the blog of Marcus Hirt let me ask one detail question concerning the flight recorder/mission control:
Are the allocation metrics accurate regarding scalar replacement (escape analysis) or is it effectively disabled if the flight recorder is running?

Posted by Stefan on September 11, 2013 at 12:11 PM PDT #

I've enabled comments on my blog again; sorry about that.

Given that we only get events for heap allocations (either inside or outside TLABs), I would assume that what we in JRockit used to call exploded objects (stack allocated) will never raise any events.

Posted by Marcus Hirt on September 11, 2013 at 03:16 PM PDT #

Hi Henrik,
How far have you got with the merge with Jrockit.
Does u40 of the JVM still have the PermGen space.
We are planning to update to this as soon as possible so would like to
confirm whether we should be allocating a little more heap space to allow for classloading.

thanks heaps

Posted by guest on September 11, 2013 at 05:38 PM PDT #

Michael - The final PermGen removal is done in JDK 8 if I recall correctly. With Mission Control and other serviceability features done, the performance stuff done earlier and PermGen in 8, the main thing that remains is a replacement for the Deterministic GC. This is still pending, but we're aiming for a JDK 8 update. It's been a long road, but we are starting to see the end of it.

Posted by Henrik on September 11, 2013 at 06:55 PM PDT #

On Mac OS X 10.7.5 with Java SE 7u25 installed the Java preference panel still doesn't detect the new 7u40 update. What gives?

Posted by XFox on September 14, 2013 at 09:59 PM PDT #

XFox - Hard to say. I have a 10.7.5 Mac and ran into a glitch myself but that turned to be due to having a JDK 8 early access installed. What you describe is a scenario we have tested, and we do track successful/failed installs so if it is common we will find out and provide a fix/workaround or docs update. However, most likely it is some config issue specific to your laptop. Quick fix is probably to uninstall Java (, then reinstall from Or see for ways to get help.

Posted by Henrik on September 15, 2013 at 10:03 AM PDT #

Thanks Henrik for your answer, I'll report the issue using the following form:
Nevertheless, actually I don't think it's an issue specific to my system because I never used it for development and I see the same behavior on my friends' "regular" Macs with OS X 10.8.4.
I'm based in Italy, could it be a geographically localized issue? Maybe it's related to some CDN server that didn't get the update 40 right… I've already seen similar issues (not Java-related) caused by some CDN propagation error.
I've also asked if anyone is experiencing the same issue on the Oracle Forums:

Posted by guest on September 15, 2013 at 02:39 PM PDT #

XFox - Looked into this. As it turns out, there is a limitation in our current control panel app on OS X: It will only update you to a new JRE if autoupdate to that JRE has been enabled. This is something we only do for CPU releases (eg, security releases). Since 7u40 is a feature release it does not trigger autoupdate and hence is not detected by the OS X control panel app. I expect this to be fixed in a future release, for the time being I have asked for the release notes to be updated. As a workaround, go to and install the update from there.

Posted by Henrik on September 17, 2013 at 05:12 PM PDT #

Wow, so it's a worldwide Mac issue?
If that's so I think that this JRE version will be installed by very few Mac users since even when running a Java applet the autoupdate dialog isn't currently triggered.
Thanks for having looked at it, I hope it gets fixed soon.

Posted by XFox on September 19, 2013 at 04:45 AM PDT #

XFox - Not triggering autoupdate is actually intentional: we never enable autoupdate for feature releases, to give a new release more "bake" time in the community enabling time for bug reports and fixes etc. Then when we build the next security release on top of the prior feature release we trigger autoupdate. Security fixes are more constrained and more unlikely to cause regressions. This tick-tock model has been in place for years and is working quite well. Developers and others who need the most recent version tend to go to one of our websites and get it directly anyway. Net result is that we get some uptake of new features immediately, and then the big uptake comes a few months later when the next security release ships.

Posted by Henrik on September 19, 2013 at 07:14 AM PDT #

Thank you very much Henrik (again ^_^) for the autoupdate mechanism explanation, it's been very much appreciated!

Posted by XFox on September 19, 2013 at 10:26 AM PDT #

Post a Comment:
Comments are closed for this entry.

Henrik Stahl is VP of Product Management in the Java Platform Group at Oracle, and is responsible for product strategy for Java ME and SE.


« July 2016