Beim Einstieg in die Java-Entwicklung wird man oft mit den Begriffen JVM, JRE und JDK konfrontiert. In diesem Artikel möchte ich diese Begriffe genauer erklären.
JVM (Java Virtual Machine)
Die JVM ist Teil der JRE (Java Runtime Environment) und hat die Aufgabe den plattformunabhängigen Bytecode plattformabhängig auszuführen. Sie dient sozusagen als Schnittstelle zur Maschine und zum Betriebssystem.
Die Bytecode-Dateien (.class) werden von der JVM zur Laufzeit in die lokale Maschinensprache übersetzt. Für verschiedene Plattformen (Windows/Linux/Mac/...) gibt es unterschiedliche Implementierungen der JVM. Die verschiedenen Implementierungen kommunizieren mit verschiedenen Maschinen auf unterschiedlichen Wegen, bilden aber eine einheitliche virtuelle Umgebung.
Die Bytecode-Dateien (.class) werden von der JVM zur Laufzeit in die lokale Maschinensprache übersetzt. Für verschiedene Plattformen (Windows/Linux/Mac/...) gibt es unterschiedliche Implementierungen der JVM. Die verschiedenen Implementierungen kommunizieren mit verschiedenen Maschinen auf unterschiedlichen Wegen, bilden aber eine einheitliche virtuelle Umgebung.
Somit wird die Plattformunabhängigkeit erreicht, da das Java Programm nur mit der JVM kommunizieren muss.