OpenJDK: Java 18 nutzt standardmäßig UTF-8
Mit dem JDK 18 kann in Java ein kleiner Webserver zum Testen und Debuggen genutzt werden sowie eine neue Schnittstelle zur DNS-Auflösung.

Die Referenzimplementierung von Java 18, das OpenJDK 18, ist offiziell erschienen. Das teilt wie üblich der Oracle-Angestellte und langjährige Java-Entwickler Mark Reinhold auf der Mailing-Liste mit. Als Standardzeichensatz nutzt die Programmiersprache damit nun UTF-8 (JEP 400). Dazu heißt es: "Mit dieser Änderung verhalten sich APIs, die vom Standardzeichensatz abhängen, über alle Implementierungen, Betriebssysteme, Gebietsschemas und Konfigurationen hinweg konsistent."
Die Nutzung von UTF-8 soll Java-Programme vor allem leichter portierbar machen. Zur Motivation der Änderung heißt es zum bisherigen Verhalten: "Wenn kein Zeichensatzargument übergeben wird, verwenden standardmäßige Java-APIs normalerweise den Standardzeichensatz. Das JDK wählt den Standardzeichensatz beim Start basierend auf der Laufzeitumgebung: dem Betriebssystem, dem Gebietsschema des Benutzers und anderen Faktoren". Auf Grund der großen Unterschiede berge dies "selbst für erfahrene Entwickler viele nicht offensichtliche Gefahren". Die Festlegung auf UTF-8 soll genau dies überwinden.
Webserver und Resolver-Schnittstelle
Zu Java hinzugekommen ist in Version 18 außerdem ein minimaler Webserver (JEP 408), der ausschließlich statische Dateien hosten kann. Funktionen wie CGI oder ähnliches gebe es nicht. Genutzt werden soll der Server zum Prototyping, für schnelle Coding-Experimente oder zum Testen, vor allem im Bildungskontext. Sicherheitsfunktionen oder Optimierungen werden explizit nicht geboten. Durch den neuen Webserver soll das JDK einfacher zugänglich werden.
Eingeführt hat das Team außerdem "eine Service-Provider-Schnittstelle (SPI) für die Auflösung von Hostnamen und Adressen, sodass java.net.InetAddress andere Resolver als den integrierten Resolver der Plattform verwenden kann". Mit dieser neuen Möglichkeit zur Namensauflösung (JEP 418) soll explizit kein neuer Resolver erstellt werden. Vielmehr soll das SPI das Testen von Resolvern vereinfachen, bessere Kontrollmöglichkeiten über den genutzten Resolver bieten, Protokolle wie DNS über QUIC, TLS oder HTTPS leichter nutzbar machen und das Project Loom besser unterstützen.
Das JDK 18 bietet außerdem Code Snippets in der Java API Dokumentation (JEP 413), eine Reimplementierung von Core Reflection (JEP 416), eine Vektor API (JEP 417) sowie Verbesserungen für das Foreign Function & Memory API (JEP 419, Second Incubator) und das Pattern Matching für Switch-Anweisungen (JEP 420, Second Preview).
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed