JEP

Kein Buch mit sieben Siegeln: JEP 360 – Sealed Classes (Preview)

Das Vorgehen hat sich bewährt – auch im JDK 15 hat mit Sealed Classes ein neues Sprachkonstrukt vorerst als Preview-Feature Einzug gehalten. Es gibt Entwicklern Kontrolle darüber, welche Klassen von einem bestimmten Interface oder einer Klasse erben dürfen. Wem das neue Sprachkonstrukt nützt, wann man es einsetzen kann und was man jetzt und in Zukunft alles damit anstellen können wird, wird in diesem Artikel zusammengefasst.

JEP 385: Ausbau des RMI-Activation-Mechanismus

Die Verwaltung von Stubs ist in Java nicht gerade trivial. Allerdings wird ein Tooling, welches den Export von Stubs mit einer verlängerten Gültigkeit erlaubt, selten genutzt, daher soll es aus dem JDK entfernt werden. JEP 385 sieht zunächst die Deprecation vor…

JEP 384: Records (Zweite Preview)

Java 15 wird zwar nicht das endgültige Release der Records (JEP 384) bringen, aber bereits eine zweite Preview für den neuen Klassentyp. Diese Klassentypen zeichnen sich durch eine sehr hohe Präzision aus und reduzieren die „Klasse“ auf den Zustand. Instanzfelder? Erweiterung anderer Klassen? Nicht möglich.

JEP 383: Foreign-Memory Access API (Second Incubator)

Der Zugriff auf fremden Speicher ist in Java-Anwendungen und den verwendeten Bibliotheken an der Tagesordnung. Das Foreign-Memory Access API soll diese Aktion in Zukunft deutlich erleichtern. Für Java 15 wurde zudem das neue VarHandle combinator API implementiert. Wir haben uns JEP 383 einmal genauer angesehen…

JEP 382: Neue Java-Rendering-Pipeline für macOS

OpenGL ist eine veraltete Rendering-Pipeline, die man gerade aus dem Gaming-Kontext vielleicht schon kennt. Diese soll, so Apples Wunsch, bald in den wohlverdienten Ruhestand geschickt werden. Das kommt für Java-Entwickler etwas ungelegen, weshalb nun im Zuge von JEP 382 eine neue Pipeline für macOS gesucht wird. Ursprung des Proposals ist Project Lanai.

JEP 381: Entfernung der Ports für Solaris und SPARC

Es wird düster für das Betriebssystem Solaris: Mit JEP 381 wird der Ausbau der entsprechenden Ports für Solaris und SPARC vorgeschlagen, der bereits im kommenden JDK umgesetzt werden soll. Überraschend kommt das, aus vielerlei Gründen, nicht gerade. Unter anderem deswegen, weil der Ausbau bereits seit rund einem Jahr geplant ist…

JEP 380: Unix-Domain Socket Channels

TCP/IP ist schön und gut, aber effektiver und vor allem sicherer Läuft die Interprozesskommunikation (IPC) via Unix-Domain-Sockets. Damit auch Java-Entwickler von den umfangreichen Funktionen profitieren können, wurde JEP 380: Unix-Domain Socket Channels ins Leben gerufen. Vor exotischeren und Linux-spezifischen Funktionen wird allerdings größtenteils Halt gemacht.

JEP 377: ZGC – Ein skalierbarer Low-Latency Garbage Collector

Per Liden, Project Lead des Z Garbage Collectors, hat mit JEP 377 vorgeschlagen, den „Müllsammler Z“ offiziell ins JDK zu übernehmen – und zwar als produktionsreifes Feature. Damit würde konsequenterweise der nächste Schritt auf einer Reise gegangen, die der Z Garbage Collector bereits seit Java 11 angetreten hat…

JEP 376: ZGC – Concurrent Thread-Stack Processing

Fast geschafft: Die Garbage Collection mit dem Z Garbage Collector ist schon fast komplett aus den berüchtigten Safepoints ausgebaut. Lediglich das Stack Processing läuft noch nicht wirklich nebenläufig. JEP 376 adressiert genau dieses Problem und soll endlich mit unnötigen Pausen Schluss machen.

JEP 374: Das Ende von Biased Locking

Komplexität und eine immer geringer werdende messbare Verbesserung der Performance: Diese beiden Faktoren haben für die Schaffung von JEP 374 gesorgt. Das Proposal sieht vor, Biased Locking mit Java 15 zu standardmäßig zu deaktivieren und schließlich in einem späteren Release komplett auszubauen.

JEP 373: Überarbeitung des DatagramSocket APIs

„Ohne Fleiß kein Preis“ heißt es aktuell bei den Java-Entwicklern: Die Überarbeitung des DatagramSocket APIs wurde gerade in den Stand eines offiziellen JEPs erhoben: JEP 373. In diesem wird vorgeschlagen, das API im Hinblick auf Aktualität und Wartbarkeit auf Vordermann zu bringen – ohne dabei die Rückwärtskompatibilität aus den Augen zu verlieren…

JEP 371: Hidden Classes – Versteckte Klassen in Java

Das Java-Jahr startet mit einem neuen Java Enhancement Proposal (JEP). Mit JEP 371 wird die Einführung „versteckter Klassen“ vorgeschlagen, die die Arbeit mit Frameworks verbessern sollen. In einer der kommenden Versionen der Programmiersprache könnten so dynamisch erstellte Klassen stellenweise durch versteckte Klassen ersetzt werden.