gcj is a java source code compiler that supports both byte code and binary compilations/linkings. Every piece of code that I have written that compiles in gcj compiles on the Sun JDK for byte code applications. I have not investigated the JDK sufficiently to know if it supports binary compilations.
PS: Sun's JDK does not support native compilation, only bytecode. -- url: http://crodrigues.webhop.net