Interesting, thanks for the link Mickelukas.
I did some research and it looks like Oracle have 2 JVM’s for ARM, both of which use openjdk 8 class libraries, but the ‘embedded’ version features an optimised hotspot VM, while the ordinary version still has a hotspot VM, but is not optimised for ARM. See Henrik’s post in this thread (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=81&t=27805):
[quote]by henrik » Tue Jan 01, 2013 6:24 am
oracle embedded JRE preview
pros: seems to be the fastest option, supplied class libraries include accelerated javafx implementation.
cons: propietary, doesn’t appear to be redistributable, still prerelease, supplied class libraries are jdk8 based and don’t include AWT/swing (though apparently the oracle embedded vm can be used with the class libraries from raspbian openjdk to get AWT/swing support).
forum thread: viewtopic.php?f=81&t=26110
That should be “Oracle JDK 8 preview for Linux/ARM”. Our Java SE Embedded products (that you call the embedded JRE) is a commercial variant optimized for low memory footprint.
A few clarifications:
- All implementations use the OpenJDK class libraries, but with different VMs
- OpenJDK is developed by Oracle and other members of the OpenJDK community
- The Oracle JDK is based on OpenJDK, adding a few features that we either don’t have the right to open source or that we keep closed for commercial reasons. For now that includes our ARM port of Hotspot, which is highly optimized.
- Oracle JDK binaries undergo extensive testing and are likely the highest quality.
- Oracle JDK is free (as in beer) for most purposes including redistribution with applications, see the license agreement you click through to download JDK 7
- The Oracle JDK 8 preview is under an early access license with more reatrictions
- Using the Swing/AWT libraries from OpenJDK 7 or Oracle JDK 7 with the JDK 8 preview is unlikely to work moving forward, but you can always compile OpenJDK 8 (our binaries and the OpenJDK source are kept in sync)
- JavaFX is partially available open source in the OpenJFX project on java.net, and will be fully open sourced over the next few months (including the ARM port)
Henrik Ståhl
Sr. Director, Product Managament
Java Platform Group, Oracle
[/quote]
Richard Bair also posted a performance comparison of JVM 8 vs GCC on the RPi, and java is faster: http://fxexperience.com/2012/12/javafx-on-raspberry-pi/.
I think the JVM hotspot version he is using is ‘embedded’ since the file name has an ‘e’ in the ‘b36e’ build number: http://www.java.net/download/JavaFXarm/jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz
Hopefully Oracle eventually opensource all of the embedded hotspot VM. But if they don’t, at least we have an ordinary hotspot VM for ARM.
According to the post linked to by Mickelukas (http://fxexperience.com/2013/02/february-open-source-update/):
[quote]…we do not yet have iOS / Android on our official release roadmap, so that for the time being, the only way to use JavaFX on iOS is via OpenJDK / OpenJFX. I can imagine this would make open source guys smile (open source goes where closed source does not!). This is also why we’ve been prioritizing open source so highly for the last little while — when OpenJFX can be built without any binary stubs, then there is nothing stopping you from taking OpenJFX with iOS port + OpenJDK and creating commercial applications that can be sold in the iOS app store.
[/quote]
So that means that any VM on iOS or Android will have to be a derivative of the open-source openJDK 8 and not the close-sourced ‘embedded’ version, which means that iOS and Android will be running the slower unoptimised hotspot JIT.