None.
Most Java compilers generate Java byte code which targets a particular JVM spec. The generated code will run on any such VM and you do not need to care about machine architectures beyond "is there a JVM implementation that runs on it?".
Of course there are compilers which generate something else (e.g. gjc) but again, the javac
frontend should be fairly standard javac. Compare: when you cross compile C code using the GCC toolchain the only difference in the command line is in chosing which compiler binary to invoke. The flags and parameters to the compiler remain the same, only the name changes (e.g. from gcc
to i686-w64-mingw32-gcc
).