wiki:java

Version 25 (modified by zzz, 7 years ago) (diff)

--

Java JRE and SDK Support and Performance

Please help fill this out

JRE/SDK Works Compiles Performance
Oracle/Sun? 5 yes yes good
Oracle/Sun? 6 yes yes good
Oracle/Sun? 7 yes yes good
GCJ (compiled to C) yes all but console very poor
GCJ-JRE (gij-4.4) yes yes for I2P releases through 0.8, if you supply the Pack200 jar - see note below poor, not recommended
Iced Tea 5
Iced Tea 6 yes yes (no on PPC "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8) - missing Pack200 - see http://forum.i2p/viewtopic.php?t=4655 ) - see note below good
Iced Tea 7 yes yes good
Open JDK 5
Open JDK 6 yes yes good
Open JDK 7 yes yes good
IBM Reportedly does not http://zzz.i2p/topics/577
Android yes yes (core and router) poor/OK depending on hardware; 512 MB RAM recommended
Oracle/BEA JRockit 1.6 yes yes good
Apache Harmony 5 no - bug in Deflater fixed with workaround in 0.7.12-15; reports huge clock skews in UDP Transport; works with TCP only? slow
Apache Harmony 6
JamVM 1.5.3 yes n/a poor

NOTES:

<smeghead> icedtea is openjdk with the non-GPL-compatible parts replaced, and openjdk is sun's jdk with bits relicensed

<smeghead> for most purposes you shouldn't notice any difference between sun, openjdk, and icedtea

<smeghead> however, icedtea offers some alternatives to hotspot which can give worse or better performance


Note that as of I2P release 0.8.1, a 1.6 or higher compatible SDK is required to compile I2P. 1.5 or higher compatible JRE is still required to run I2P.


Pack200 note: You can get a free version of pack200.jar from the Apache Harmony package; if you install the Harmony SDK on Ubuntu, the file will be at /usr/lib/harmony-5.0/jdk/jre/lib/boot/pack200.jar; copy it to your JRE's library directory.

Update: As of I2P release 0.8.3, I2P will use either the Sun or Apache Pack200 if it is in the classpath at runtime, and neither is required to compile I2P.