Java 10: Vereinheitlichtes JDK-Repository (JEP 296) – Single Source Repo
JEP 296 – Consolidate the JDK Forest into a Single Repository
Situation in JDK 9
JDK 9 bestand aus acht separaten Repositories (Forests):
root(Build-Infra)corbahotspot(VM)jaxp(XML Processing)jaxws(Web Services)jdk(Core Libraries, Tools)langtools(Compiler, Javadoc, JShell)nashorn(JavaScript Engine)
Code lag verstreut: $ROOT/jdk/src/java.base, $ROOT/langtools/src/java.compiler etc.
Ab Java 10: Ein Repository
Alle Komponenten wurden in ein einziges Repository konsolidiert:
$ROOT/src/java.base
$ROOT/src/java.compiler
$ROOT/src/hotspot
$ROOT/src/jdk.javadoc
... usw.
Vorteile
- Atomare Commits: Änderungen an VM, Compiler & Libraries in einem Commit.
- Einfacheres Building: Kein komplexes Multi-Repo-Build-System mehr.
- Bessere Code-Navigation: IDEs/Tools sehen gesamtes JDK als ein Projekt.
- Vereinfachtes Contributing: Ein Clone, ein Branch, ein Pull Request.
- Consistente History: Kein „Forest“-Sync-Mehr, saubere Git-History.
Auswirkungen für Entwickler
- Keine direkten Änderungen an der Java-Sprache oder APIs.
- Relevant für: JDK-Entwickler, Build-Engineer, Tool-Vendor, alle die OpenJDK selbst bauen.
- Externe Downstream-Distributionen (Adoptium, Red Hat, Azul, SAP etc.) profitieren von simplerem Build-Prozess.
Hinweis
Dies ist ein reines Engineering/Infrastruktur-Feature. Für Anwendungsentwickler unsichtbar, aber fundamental für die Weiterentwicklung des JDK.
Java
- Java Operatoren meistern: Typen, Syntax und praktische Beispiele
- Java Kommentare: Typen, Verwendung und Best Practices
- Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
- Java Strings meistern: Erstellung, Methoden und Best Practices
- Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
- Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
- Java Assertions: Praktischer Leitfaden zur Fehlererkennung und Code-Reliabilität
- Java Vector verstehen: Verwendung, Funktionen und Vergleich mit ArrayList