Kurzum: Ja
(seltene Ausnahme: es wurde mit speziellem Compiler in nativem Code kompiliert oder hat andere native Abhängigkeiten, z.B. dlls oder so)
ein wenig ausführlicher:
Java kompiliert seinen Code in Bytecode. Dieser ist unabhängig von einem System.
Die Java Virtual Machine(ist je nach OS/Prozessortyp unterschiedlich) übersetzt den Bytecode zur Laufzeit, so das es der Rechner versteht.