<
http://openjdk.org/>
<
http://www.ibm.com/developerworks/java/jdk/>
You will have to navigate about a bit and ponder/correlate the
information these sites give.
You should write your Java code, so that it works with any
Java implementation following the standard for a specific
version.
If you are curious then I would expect SUN JDK to be
practically the same as OpenJDK, but IBM JDK to have
some different implementations of some things.
The OpenJDK site is fairly explicit if not overly detailed about how
much of the Sun JDK has been open-sourced so far. Essentially OpenJDK
is the Sun JDK, or will be.
Some of the differences from the IBM JDK are not documented, at least
that I've found. For example, IBM's JRE includes JARs, or has
included JARs, in the extensions directory, in effect tailoring the
Java language to IBM's specifics. I haven't seen that explicitly
documented. However, that's not strictly a language difference but an
environment one. The JDKs/JREs must support the same language to
legally earn the name "Java".