On Mon, 2006-06-05 at 16:27 +0200, Caster wrote: > ... > Somebody correct me if I'm wrong, but the bytecode compiled will be the > same no matter which JDK you use. Any optimisations are done with > run-time JIT compiling, and depends on the VM running the bytecode > (which can be different from the VM used to compile). I think this statement is a little too broad to be considered correct. The compiler can (and often does) make changes to the resulting binaries that may be VM-level specific (e.g., targeted for a 1.5 VM). Consider the "-target" argument for javac, for example, which "Allow[s] javac to use 1.5 specific features in the libraries and virtual machine" (http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html ). For more information see the following in the section labeled "Cross-Compilation Options": http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/javac.html I also found some interesting information about different bytecode versions here: http://alumnus.caltech.edu/~leif/opensource/bcver/BcVerTask.html More information can be found in Sun articles referenced there. Finally, it looks like some information appears in the following JSR abstract: http://www.jcp.org/en/jsr/detail?id=202 ~ Greg