JEP

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.

Rekordverdächtig strukturiert: Ein Blick auf JEP 359: Java Records

Datenklassen, also Java-Klassen, deren einziger Zweck darin besteht, Daten zu halten und diese über Getter und Setter zugänglich zu machen, gehören in vielen Softwareprojekten zu den größten Sammelstellen von Boilerplate-Code. Für jede neue Klasse jeweils Konstruktoren, die Methoden equals, hashCode und toString und für jedes Feld noch einen Getter und einen Setter zu erstellen, ist für viele Entwickler eine verhasste Zeremonie geworden – sofern sie nicht direkt Bibliotheken wie Lombok einsetzen, um dieser zu entgehen. JEP 359 soll Abhilfe schaffen.

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.