
Heute wird eine neue Version von Java veröffentlicht - Java / JDK 13. Das Rennen begann mit der Frühjahrsveröffentlichung von JDK 12, die am 19. März stattfand, und die Abzweigung aus dem Hauptzweig erfolgte am 13. Juni. Jemand, den wir auf dem Weg verloren haben, wie JEP 343: Packaging Tool , aber im Allgemeinen ist alles normal und es ist Zeit, die Vorteile zu nutzen.
Sie können die neue Version hier herunterladen. Unter dem Schnitt finden Sie eine kleine Übersicht über die neuen JEPs, die in dieser Version enthalten sind.
Wie Sie wissen, haben wir in JDK 11 einen neuen brillanten GC - ZGC, skalierbar, schnell und pausarm. Na ja, oder zumindest ist das die Idee. Ein ziemlich ernstes Problem bei ihm war, dass er sich wie ein Hund in der Krippe benahm und die geschäftige Erinnerung nicht aufgab, auch wenn sie nicht gebraucht wurde. Shenandoah und G1 haben vor langer Zeit angefangen, sich zu teilen, und das Verhalten des ZGC sah kriminell Händeschütteln aus. Nun, jetzt ist alles behoben, gleich nach dem Timeout in -XX:ZUncommitDelay
bekommen wir unsere Bytes zurück.
Mit der CDS-Funktion selbst können Sie einem gemeinsamen Archiv ladbare Klassen hinzufügen, wodurch der Start beschleunigt und die Menge an verschwendetem RAM reduziert wird. Leider mussten Sie, bevor es irgendwie ein bisschen dumm war, die Anwendung selbst viele Male neu starten, eine Liste solcher Klassen erstellen und dann auch Ihre Hände auf diese Liste legen. Jetzt arbeiten Roboter, nicht Menschen: Wenn die Option -XX:ArchiveClassesAtExit
, werden Klassen nach einem normalen Herunterfahren der Anwendung automatisch in das Archiv -XX:ArchiveClassesAtExit
.

Stuart Marks - Doctor Deprecator, beratender technischer Mitarbeiter bei Oracle + olegchir zu Oracle Code One, wenige Minuten nach der Ankündigung von Java 13
In allen (mittlerweile veralteten) Javas basieren net.Socket
und java.net.ServerSocket
auf einer höllischen Mischung aus Java und C-Code, vor der selbst die erfahrensten Leistungstheoretiker weinen. Das Problem wurde gelöst, indem eine neue Implementierung mit derselben internen Infrastruktur wie NIO geschrieben wurde, sodass fast kein eigener nativer Code benötigt wird. Nun, und doch ist dies kein Vermächtnis, sie haben alles wunderschön geschrieben und sind geeignet, um zu den Fasern aus dem Loom-Projekt überzugehen. Wenn es unter der Haube interessant ist, müssen Sie sich die NioSocketImpl
Klasse NioSocketImpl
.
Wir bereiten uns weiterhin auf die Ankunft des Mustervergleichs vor. Switch Expressions ist die erste Funktion, mit der Sie Code des Formulars schreiben können:
int j = switch (day) { case MONDAY -> 0; case TUESDAY -> 1; default -> { int k = day.toString().length(); int result = f(k); yield result; } };
Wie wir im Beispiel sehen, haben wir seit JDK 12 eine kosmetische Änderung: break
geändert, um yield
, jetzt ist alles wie bei allen normalen Menschen.
JEP 326: Raw String Literals ging unter das Messer, aber sein Geschäft lebt weiter! "Sagen Sie Genosse Stalin - ein schrecklicher Fehler ist aufgetreten . " Textblöcke ist eine neue Vorschaufunktion, mit der Sie ohne Escapezeichen auskommen können. Sie formatiert die Zeilen auf bequeme Weise. kocht Kaffee mit Schaum und gibt auf wundersame Weise die Kontrolle über das Format der resultierenden Zeichenfolge.
Weltlicher, jetzt kann jeder Henker, der JSP nicht lernen muss, so etwas schreiben wie:
String html = """ <html> <body> <p>Hello, world</p> </body> </html> """;
Ein Anfänger-DBA kann eine Karriere aufbauen, indem er mit dem folgenden Code beginnt:
String query = """ SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB` WHERE `CITY` = 'NEW DEHLI' ORDER BY `EMP_ID`, `LAST_NAME`; """;

Klingt etwas bedrohlich
Warnung
Eine JEP-Übersicht ist ein kleiner Teil dessen, was Sie über das neue Java erzählen können und sollten. Diese vollständige Überprüfung sollte auch eine umfassende Überprüfung interessanter taktischer Innovationen und eine Übersicht über Fehler im Bugtracker enthalten. Vielleicht kann jemand ( lany , ay!) Diese Arbeit fortsetzen. Mein Team und ich sind jetzt bei Oracle Code One - leider sitzen wir auf Berichten oder stützen uns auf den Stand von Liberica JDK - es ist ziemlich schwierig, so lange etwas zu schreiben. In jedem Fall ist dies ein Thema für eine völlig andere Hub-Site.

Brian Goetz - Architekt für die Java-Sprache bei Oracle + olegchir auf Oracle Code One
Außerdem haben wir eine Joker-Konferenz, auf der Sie die Notwendigkeit eines Wechsels zu Java 13, den Zeitpunkt des Übergangs zu ZGC, die Menge an Popcorn, die nach der Einführung von Textblöcken benötigt wird, und andere relevante Themen besprechen können. Tickets können wie immer auf der offiziellen Website gekauft werden .