Moin,
man muss unterscheiden zwischen einem Java PlugIn (für Applets im Browser)
und der JRE bzw. JDK, welche eine Laufzeitumgebung für Java Programme unter Betriebssystemen bereitstellt.
Kurz zur Erklärung: Z.B. Open Office ist ein "Java" Programm, welches eine Laufzeitumgebung benötigt. Sprich: Hier muss man sich ein JRE installieren (JRE= Java Runtime Environment), damit das Programm läuft.
Java Programme werden in der JVM ausgeführt (Java Virtual Machine).
Wenn man sagt, java sei unabhängig vom Betriebssystem ist damit gemeint:
Die JVM ist eine Art Container, eine autarke Umgebung, speziell für Java Programme.
Während ein C Programm z.B. direkt mit Windows, Linux/Unix etc. zusammenläuft,
bildet eine JVM eine Art Pufferzone, eine Schnittstelle zwischen Java programm und Betriebssystem.
Darum gibt es spezifische JRE/JDKs für verschiedene Systeme,
wohingegen die Java Programme identisch sind und identisch laufen können.
Identisch heisst: Der Source Code ist genau gleich, egal unter welchem BS die SW läuft.
Im Embedded Bereich z.B. wird deutlich hardwarenaher programmiert.
Da merkt man dann die Unterschiede, da über die JVM schon direkt
mit dem Betriebssystem zusammengearbeitet wird. Das genauer auszuführen würde den Rahmen sprengen und wäre langsam wirlich voll Off-Topic
Gruß Tim