Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java 10: Neue Features, Release-Modell & OpenJDK-Fokus im Überblick

Neues Release-Modell: 6-Monate-Zyklus & LTS

Java 10 (erschienen 20. März 2018) markiert den Übergang zu einem zeitbasierten Release-Modell: alle 6 Monate ein neues Feature-Release (März & September). Alle 3 Jahre (ab Sept. 2018) erscheint ein LTS-Release (Long Term Support) mit 3 Jahren Support – primär für Produktionseinsätze. Java 11 war das erste LTS nach diesem Modell.

Oracle JDK vs. OpenJDK

Ab Java 10 fördert Oracle OpenJDK als primäre JDK. Java 9 & 10 sind Non-LTS.

Wichtigste neue Features (JEPs)

JEP Feature Beschreibung
JEP 286 Local Variable Type Inference var für lokale Variablen mit Typinferenz.
JEP 322 Time-Based Release Versioning Neues Versionsschema $FEATURE.$INTERIM.$UPDATE.$PATCH.
JEP 304 Garbage-Collector Interface Pluggable GC-Implementierungen, saubere Code-Isolation.
JEP 307 Parallel Full GC for G1 G1 nutzt parallele Threads für Full GC (Fallback).
JEP 316 Heap Allocation on Alternative Memory Devices -XX:AllocateHeapAt=<pfad> für NV-DIMM u. ä.
JEP 296 Consolidate JDK Forest into Single Repository Ein Repository statt acht (root, corba, hotspot, …).
JEP 310 Application Class-Data Sharing (AppCDS) Anwendungs-Klassen in Shared Archive für schnelleren Start.
JEP 314 Additional Unicode Language-Tag Extensions Locale-Erweiterungen: cu (Währung), fw (Wochentag), rg (Region), tz (Zeitzone).
JEP 319 Root Certificates OpenJDK enthält nun Standard-Root-CAs (TLS funktioniert out-of-the-box).
JEP 317 Experimental Java-Based JIT Compiler (Graal) Aktivierbar via -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler.
JEP 312 Thread-Local Handshakes Einzelne Threads anhalten ohne globalen Safepoint (x64/SPARC).
JEP 313 Remove Native-Header Generation Tool (javah) javah entfernt; javac -h nutzen.

Zusätzlich wurden 70+ APIs erweitert, veraltete APIs/Optionen entfernt (siehe separate Artikel).

Java

  1. Java Operatoren meistern: Typen, Syntax und praktische Beispiele
  2. Java Kommentare: Typen, Verwendung und Best Practices
  3. Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
  4. Java Strings meistern: Erstellung, Methoden und Best Practices
  5. Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
  6. Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
  7. Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
  8. Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
  9. Java Assertions: Praktischer Leitfaden zur Fehlererkennung und Code-Reliabilität
  10. Java Programmiersprache: Evolution, Versionen und Anwendungen