Login
Newsletter
Werbung

Mi, 26. September 2018, 14:43

Software::Entwicklung

Java 11 freigegeben

Java 11 ist wie geplant ein halbes Jahr nach Java 10 erschienen. Die neue Version implementiert insgesamt 17 Neuerungen und Aktualisierungen und wird für mehrere Jahre unterstützt.

Oracle

Seit Java 9, das am 21. September 2017 nach sehr langer Entwicklungszeit freigegeben wurde, gilt im OpenJDK-Projekt ein halbjährlicher Veröffentlichungszyklus. Da halbjährliche Veröffentlichungszyklen für einige Anwender, die Stabilität bevorzugen, zu rasch kämen, sollen aber alle drei Jahre Versionen mit langfristiger Unterstützung erscheinen. Das jetzt erschienene Java 11 ist die erste dieser LTS-Ausgaben.

Java 11 enthält insgesamt 17 Neuerungen gegenüber Java 10. So wurde das Konzept der »Nester« in die Sprache eingeführt, die an das »friend«-Konstrukt von C++ erinnern. Dadurch wird es möglich, dass Klassen, die zusammengehören, aber nicht als verschachtelte Klassen compiliert wurden, auf die privaten Felder und Methoden von anderen Klassen zugreifen. Für Testzwecke oder auch für kurze Programme wurde ein neuer Garbage-Kollektor »Epsilon« konstruiert, der keinen Speicher freigibt. Dieser kann Programme, die sowieso keinen Speicher freigeben müssen, verkürzen und beschleunigen, und für andere zum Testen nützlich sein. Die Java EE- und CORBA-Module wurden jetzt entfernt, nachdem sie seit über einem Jahr als veraltet deklariert waren.

Das in Java 9 eingeführte HTTP Client API bekam jetzt die endgültige Form. In Lambda-Ausdrücken kann jetzt der Typ von Variablen implizit sein, wenn der Compiler der Lage ist, den Typ selbst zu ermitteln. Die Schlüsselaushandlung nach RFC 7748 wurde mit den elliptischen Kurven Curve25519 und Curve448 implementiert. Außerdem wurden die Verschlüsselungsalgorithmen ChaCha20 und ChaCha20-Poly1305 implementiert, von denen ersterer das veraltete RC4 ersetzen kann.

Der Java-Compiler kann nun eine einzelne Quellcode-Datei direkt ausführen, ohne einen expliziten Compiler-Lauf zu benötigen. Das ist nützlich für Test- und Beispielprogramme, doch zu einer echten Skriptsprache soll Java nicht erweitert werden. Neu ist eine Möglichkeit, mit geringem Overhead ein Profil der Heap-Allokationen zu erstellen. Neu ist auch »Flight Recorder«, ein Framework zur Ermittlung von Daten der Hotspot-VM, das wenig Overhead aufweisen soll.

Die Unicode-Unterstützung wurde auf Unicode 10.0 erweitert und TLS wird in der neuen Version 1.3 unterstützt. Ein weiterer neuer Garbage Collector, der skalierbar sein und eine niedrige Latenzzeit aufweisen soll, wurde unter dem Namen ZGC hinzugefügt. Als veraltet deklariert wurden die JavaScript-Engine Nashorn und das Kompressionsschema Pack200. Beide werden in einer zukünftigen Version aus Java verschwinden.

Binärpakete von Java 11 stehen auf jdk.java.net zum Download bereit. Dabei gibt es das komplette, 180 MB schwere JDK in der OpenJDK-Version unter der GPL mit Classpath-Ausnahme, sowie das von Oracle produzierte Oracle-JDK unter einer proprietären Lizenz. Letzteres ist aber, nachdem Oracle die zusätzlichen Komponenten unter die GPL gestellt hat, im Wesentlichen identisch mit den OpenJDK-Paketen. Viele Linux-Distributionen werden im Laufe der Zeit eigene Binärpakete bereitstellen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung