Java wurde 1995 von James Gosling bei Sun Microsystems vorgestellt und gehört heute zu Oracle. Der Leitgedanke: Ein Programm wird einmal geschrieben und läuft auf jedem System, auf dem es eine Java Virtual Machine (JVM) gibt.
So läuft ein Java-Programm
- Du schreibst Quellcode in
.java-Dateien. - Der Compiler (
javac) übersetzt ihn in Bytecode (.class-Dateien). - Die JVM führt den Bytecode aus und übersetzt ihn zur Laufzeit (JIT) in schnellen Maschinencode.
| Begriff | Bedeutung |
|---|---|
| JVM | Java Virtual Machine: führt Bytecode aus |
| JRE | Java Runtime Environment: JVM + Standardbibliothek (nur zum Ausführen) |
| JDK | Java Development Kit: JRE + Compiler und Werkzeuge (zum Entwickeln) |
| Bytecode | plattformunabhängiger Zwischencode |
Warum Java?
- Streng typisiert: Fehler fallen früh beim Übersetzen auf
- Objektorientiert, mit riesiger Standardbibliothek
- Plattformunabhängig: Windows, Linux, macOS, Server, Handy
- Schnell dank JIT-Compiler und Garbage Collector (automatische Speicherverwaltung)
- Riesiges Ökosystem: Spring, Hibernate, Maven, Android, Kafka, Minecraft
- Langfristige Stabilität: Alter Code läuft meist auch heute noch
Versionen
Alle sechs Monate erscheint eine neue Version, alle zwei bis drei Jahre eine LTS-Version (Langzeit-Support): 8, 11, 17, 21, 25. Für Produktion nimmst du eine LTS-Version. Dieser Kurs nutzt Java 21 mit modernen Funktionen wie var, Records, Textblöcken, Switch-Ausdrücken und Pattern Matching.
Installieren und prüfen
java -version # zeigt die Laufzeitumgebung
javac -version # zeigt den Compiler (nur im JDK)Beliebte Distributionen: Eclipse Temurin, Amazon Corretto, Microsoft OpenJDK. Als Entwicklungsumgebung eignen sich IntelliJ IDEA (Community), Eclipse, VS Code mit Java-Erweiterung oder NetBeans.
Dein erstes Programm
public class Hallo {
public static void main(String[] args) {
System.out.println("Hallo, Welt!");
}
}Hallo, Welt!
Starten (ab Java 11): java Hallo.java. Klassisch:
javac Hallo.java # erzeugt Hallo.class
java Hallo # führt die Klasse ausJava im Vergleich
| Java | Python | JavaScript | C++ | |
|---|---|---|---|---|
| Typen | statisch, streng | dynamisch | dynamisch | statisch |
| Ausführung | JVM (JIT) | Interpreter | Engine (JIT) | nativ |
| Speicher | automatisch (GC) | automatisch | automatisch | manuell |
| Typische Nutzung | Unternehmen, Android, Backends | Skripte, Daten, KI | Web | Spiele, Systeme |
So führst du den Code aus: Ab Java 11 genügt für kleine Programme java Hallo.java (ohne Extra-Schritt). Klassisch: Datei Hallo.java speichern, mit javac Hallo.java übersetzen und mit java Hallo starten. Ein JDK muss installiert sein (z. B. Temurin oder OpenJDK).
Merke
- Java-Quellcode wird zu Bytecode, den die JVM auf jedem System ausführt
- JDK = Entwickeln, JRE/JVM = Ausführen
- Für Produktion eine LTS-Version nutzen (hier: 21)
- Java ist streng typisiert und verwaltet Speicher automatisch (Garbage Collector)
- Ab Java 11 startet
java Datei.javakleine Programme direkt