{"id":925546,"date":"2024-07-22T04:42:47","date_gmt":"2024-07-22T04:42:47","guid":{"rendered":"https:\/\/proxyelite.info\/?p=925546"},"modified":"2025-06-05T13:52:34","modified_gmt":"2025-06-05T13:52:34","slug":"what-s-new-in-java-11","status":"publish","type":"post","link":"https:\/\/proxyelite.info\/de\/what-s-new-in-java-11\/","title":{"rendered":"Was ist neu in Java 11?"},"content":{"rendered":"<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Besonderheit<\/th><th>Beschreibung<\/th><th>Beispiel<\/th><th>Vorteile<\/th><\/tr><\/thead><tbody><tr><td>Lokale Variablensyntax f\u00fcr Lambda-Parameter<\/td><td>Erm\u00f6glicht die Verwendung von <code data-no-translation=\"\">var<\/code> in Lambda-Ausdr\u00fccken zur verbesserten Lesbarkeit.<\/td><td><code data-no-translation=\"\">(var x, var y) -&gt; x + y<\/code><\/td><td>Konsistenz im Code.<\/td><\/tr><tr><td>HTTP-Client (Standard)<\/td><td>Neue HTTP-Client-API, die HTTP\/1.1 und HTTP\/2 unterst\u00fctzt.<\/td><td><code data-no-translation=\"\">HttpClient client = HttpClient.newHttpClient();<\/code><\/td><td>Moderne, funktionsreiche API.<\/td><\/tr><tr><td>Epsilon: Ein No-Op-Garbage Collector<\/td><td>Ein Garbage Collector, der keinen Speicher zur\u00fcckfordert.<\/td><td><code data-no-translation=\"\">java -XX:+UseEpsilonGC MyApp<\/code><\/td><td>N\u00fctzlich f\u00fcr Leistungstests.<\/td><\/tr><tr><td>Nest-basierte Zugriffskontrolle<\/td><td>Vereinfacht die Zugriffskontrolle f\u00fcr verschachtelte Typen.<\/td><td><code data-no-translation=\"\">private static class NestedClass {}<\/code><\/td><td>Verbesserte Leistung.<\/td><\/tr><tr><td>Dynamische Klassendateikonstanten<\/td><td>Neues Konstantenpool-Formular <code data-no-translation=\"\">CONSTANT_Dynamic<\/code>.<\/td><td>N \/ A<\/td><td>Reduzierte Kosten und Einschr\u00e4nkungen.<\/td><\/tr><tr><td>Verbesserungen der String-API<\/td><td>Neue Methoden wie <code data-no-translation=\"\">lines()<\/code>, <code data-no-translation=\"\">strip()<\/code>, Und <code data-no-translation=\"\">repeat(int)<\/code>.<\/td><td><code data-no-translation=\"\">text.strip()<\/code><\/td><td>Leistungsst\u00e4rkere Zeichenfolgenmanipulation.<\/td><\/tr><tr><td>Erweiterungen der Files-API<\/td><td>Methoden zum Lesen und Schreiben von Dateien als Zeichenfolgen.<\/td><td><code data-no-translation=\"\">Files.writeString(path, \"Hello!\");<\/code><\/td><td>Vereinfacht Dateivorg\u00e4nge.<\/td><\/tr><tr><td>Unicode 10<\/td><td>Unterst\u00fctzt den neuesten Unicode-Standard.<\/td><td>N \/ A<\/td><td>Umfassendere Zeichenunterst\u00fctzung.<\/td><\/tr><tr><td>Flug Rekorder<\/td><td>Integriertes Profiling-Tool.<\/td><td>N \/ A<\/td><td>Verbesserte Leistungs\u00fcberwachung.<\/td><\/tr><tr><td>Entfernung von Java EE- und CORBA-Modulen<\/td><td>Java EE- und CORBA-Module entfernt.<\/td><td>N \/ A<\/td><td>Optimiertes JDK.<\/td><\/tr><tr><td>Pack200-Tools und API veraltet<\/td><td>Veraltete Pack200-Komprimierungstools und APIs.<\/td><td>N \/ A<\/td><td>Signalisiert eine zuk\u00fcnftige Entfernung.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Java 11 hat zahlreiche Funktionen und Verbesserungen eingef\u00fchrt, die es zu erkunden lohnt. Im Folgenden gehen wir n\u00e4her auf jede dieser neuen Funktionen ein und liefern detaillierte Beschreibungen, praktische Beispiele und die Vorteile, die sie Entwicklern bieten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lokale Variablensyntax f\u00fcr Lambda-Parameter<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Eine der bemerkenswertesten Neuerungen in Java 11 ist die Unterst\u00fctzung f\u00fcr <code data-no-translation=\"\">var<\/code> Schl\u00fcsselwort in Lambda-Ausdr\u00fccken. Diese Funktion vereinfacht die Syntax und verbessert die Lesbarkeit des Codes, indem sie es Entwicklern erm\u00f6glicht, <code data-no-translation=\"\">var<\/code> um die formalen Parameter implizit typisierter Lambda-Ausdr\u00fccke zu deklarieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Beispiel:<\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">(var x, var y) -&gt; x + y\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Konsistenz:<\/strong> Benutzen <code data-no-translation=\"\">var<\/code> in Lambda-Parametern macht den Code konsistent mit lokalen Variablendeklarationen und reduziert so die kognitive Belastung der Entwickler.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">HTTP-Client (Standard)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die neue, in Java 11 standardisierte HTTP-Client-API unterst\u00fctzt sowohl HTTP\/1.1 als auch HTTP\/2. Diese moderne und funktionsreiche API erleichtert die Durchf\u00fchrung von HTTP-Operationen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Beispiel:<\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">HttpClient client = HttpClient.newHttpClient();\nHttpRequest request = HttpRequest.newBuilder()\n    .uri(URI.create(&quot;https:\/\/example.com&quot;))\n    .build();\nHttpResponse&lt;String&gt; response = client.send(request, HttpResponse.BodyHandlers.ofString());\nSystem.out.println(response.body());\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Moderne API:<\/strong> Bietet eine leistungsf\u00e4higere und flexiblere M\u00f6glichkeit zur Verarbeitung von HTTP-Anfragen und -Antworten.<\/li>\n\n\n\n<li><strong>Verbesserte Leistung:<\/strong> Unterst\u00fctzt HTTP\/2, das mit Funktionen wie Multiplexing die Leistung verbessern kann.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Epsilon: Ein No-Op-Garbage Collector<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java 11 f\u00fchrt Epsilon ein, einen No-Op-Garbage Collector, der keinen Speicher zur\u00fcckfordert. Dies ist besonders n\u00fctzlich f\u00fcr Leistungstests und die Bewertung des Speicherdrucks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Beispiel:<\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">java -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -Xmx2g MyApp\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Leistungstest:<\/strong> Hilft beim Benchmarking und Leistungstests, indem der Aufwand der Speicherbereinigung eliminiert wird.<\/li>\n\n\n\n<li><strong>Speicherverwaltung:<\/strong> N\u00fctzlich in Szenarien, in denen die Speicherzuweisung extern verwaltet wird.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Nest-basierte Zugriffskontrolle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die nestbasierte Zugriffskontrolle in Java 11 vereinfacht die Zugriffsregeln f\u00fcr verschachtelte Typen und erm\u00f6glicht eine bessere Kapselung und Zugriffskontrolle innerhalb verschachtelter Klassen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Beispiel:<\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">public class OuterClass {\n    private static class NestedClass {\n        private void nestedMethod() {\n            System.out.println(&quot;Inside NestedClass&quot;);\n        }\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Verbesserte Kapselung:<\/strong> Bietet eine bessere Kontrolle \u00fcber den Zugriff verschachtelter Klassenmitglieder.<\/li>\n\n\n\n<li><strong>Leistung:<\/strong> Verbessert die Leistung durch Vereinfachung der Zugriffskontrollregeln.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Dynamische Klassendateikonstanten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Einf\u00fchrung von <code data-no-translation=\"\">CONSTANT_Dynamic<\/code> im Konstantenpool erm\u00f6glicht flexiblere und effizientere Konstanten in Klassendateien.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reduzierte Kosten:<\/strong> Reduziert die Kosten und Einschr\u00e4nkungen, die mit der Erstellung neuer Typen von Klassendateikonstanten verbunden sind.<\/li>\n\n\n\n<li><strong>Flexibilit\u00e4t:<\/strong> Bietet dynamischere und flexiblere M\u00f6glichkeiten zum Umgang mit Konstanten im Java-Bytecode.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Verbesserungen der String-API<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java 11 bringt mehrere Verbesserungen f\u00fcr die <code data-no-translation=\"\">String<\/code> Klasse, einschlie\u00dflich neuer Methoden wie <code data-no-translation=\"\">lines()<\/code>, <code data-no-translation=\"\">strip()<\/code>, <code data-no-translation=\"\">stripLeading()<\/code>, <code data-no-translation=\"\">stripTrailing()<\/code>, <code data-no-translation=\"\">repeat(int)<\/code>, Und <code data-no-translation=\"\">isBlank()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Beispiele:<\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">String multiline = &quot;line1\\nline2\\nline3&quot;;\nmultiline.lines().forEach(System.out::println);\n\nString text = &quot;  hello  &quot;;\nSystem.out.println(text.strip());           \/\/ &quot;hello&quot;\nSystem.out.println(text.stripLeading());    \/\/ &quot;hello  &quot;\nSystem.out.println(text.stripTrailing());   \/\/ &quot;  hello&quot;\nSystem.out.println(&quot;=&quot;.repeat(5));          \/\/ &quot;=====&quot;\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Leistungsstarke String-Manipulation:<\/strong> Neue Methoden bieten leistungsf\u00e4higere und bequemere M\u00f6glichkeiten zur Bearbeitung von Zeichenfolgen.<\/li>\n\n\n\n<li><strong>Code-Sauberkeit:<\/strong> Vereinfacht allgemeine Zeichenfolgenoperationen und f\u00fchrt so zu saubererem und besser lesbarem Code.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Erweiterungen der Files-API<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der <code data-no-translation=\"\">Files<\/code> Klasse in Java 11 enth\u00e4lt neue Methoden wie <code data-no-translation=\"\">readString(Path)<\/code> Und <code data-no-translation=\"\">writeString(Path, CharSequence)<\/code> zum Lesen und Schreiben von Dateien als Zeichenfolgen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Beispiel:<\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code data-no-translation=\"\">Path path = Paths.get(&quot;file.txt&quot;);\nFiles.writeString(path, &quot;Hello, World!&quot;);\nString content = Files.readString(path);\nSystem.out.println(content);\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Vereinfachte Dateioperationen:<\/strong> Macht das Lesen und Schreiben aus Dateien einfacher und weniger fehleranf\u00e4llig.<\/li>\n\n\n\n<li><strong>Verbesserte Produktivit\u00e4t:<\/strong> Reduziert Boilerplate-Code und steigert die Produktivit\u00e4t der Entwickler.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Unicode 10<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java 11 unterst\u00fctzt Unicode 10, das neue Zeichen und Skripte enth\u00e4lt und sicherstellt, dass Java-Anwendungen die neuesten internationalen Zeichen verarbeiten k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Umfassende Charakterunterst\u00fctzung:<\/strong> Bietet bessere Unterst\u00fctzung f\u00fcr Internationalisierung und Lokalisierung.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Flug Rekorder<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java Flight Recorder (JFR) ist jetzt in OpenJDK enthalten und bietet ein leistungsstarkes Tool zum Profilieren und \u00dcberwachen von Java-Anwendungen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Leistungs\u00fcberwachung:<\/strong> Hilft bei der Diagnose von Leistungsproblemen durch die Aufzeichnung detaillierter Informationen zur Ausf\u00fchrung der Anwendung.<\/li>\n\n\n\n<li><strong>Integriertes Werkzeug:<\/strong> In das JDK integriert, daher sofort verf\u00fcgbar, ohne dass externe Tools erforderlich sind.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Entfernung von Java EE- und CORBA-Modulen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java 11 hat die Java EE- und CORBA-Module entfernt, die in fr\u00fcheren Versionen veraltet waren. Diese APIs sind jetzt als separate Bibliotheken verf\u00fcgbar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Optimiertes JDK:<\/strong> Reduziert die Gr\u00f6\u00dfe und Komplexit\u00e4t des JDK und macht es leichter und effizienter.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Pack200-Tools und -API veraltet machen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Komprimierungstools und APIs von Pack200 werden in Java 11 nicht mehr unterst\u00fctzt, was darauf hindeutet, dass sie in einer zuk\u00fcnftigen Version entfernt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorteile:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Zukunftssicherheit:<\/strong> Ermutigt Entwickler, auf modernere Komprimierungstools zu migrieren und bereitet sich auf die eventuelle Entfernung von Pack200 vor.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Abschluss<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Java 11 bringt eine Vielzahl neuer Funktionen und Verbesserungen mit sich, die die F\u00e4higkeiten der Sprache und die Produktivit\u00e4t der Entwickler steigern. Von der modernen HTTP-Client-API bis hin zu den leistungsstarken Verbesserungen der String- und Datei-API machen diese Updates Java zu einer robusteren und effizienteren Plattform. W\u00e4hrend die Entfernung veralteter Module und die Einf\u00fchrung neuer Garbage Collector wie Epsilon einen klaren Fokus auf Leistung und Modernisierung zeigen, sollten Entwickler diese \u00c4nderungen annehmen, um das volle Potenzial von Java 11 auszusch\u00f6pfen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tabellen und Detailbeschreibungen:<\/strong> Um ein umfassenderes Verst\u00e4ndnis zu erm\u00f6glichen, finden Sie unten detaillierte Beschreibungen und Beispiele einiger Funktionen mit eingebetteten Tabellen:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tabelle mit Verbesserungen der String-API<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Methode<\/th><th>Beschreibung<\/th><th>Beispiel<\/th><\/tr><\/thead><tbody><tr><td><code data-no-translation=\"\">lines()<\/code><\/td><td>Teilt die Zeichenfolge in Zeilen auf.<\/td><td><code data-no-translation=\"\">multiline.lines().forEach(System.out::println);<\/code><\/td><\/tr><tr><td><code data-no-translation=\"\">strip()<\/code><\/td><td>Entfernt f\u00fchrende und nachfolgende Leerzeichen.<\/td><td><code data-no-translation=\"\">text.strip()<\/code><\/td><\/tr><tr><td><code data-no-translation=\"\">stripLeading()<\/code><\/td><td>Entfernt f\u00fchrende Leerzeichen.<\/td><td><code data-no-translation=\"\">text.stripLeading()<\/code><\/td><\/tr><tr><td><code data-no-translation=\"\">stripTrailing()<\/code><\/td><td>Entfernt nachstehende Leerzeichen.<\/td><td><code data-no-translation=\"\">text.stripTrailing()<\/code><\/td><\/tr><tr><td><code data-no-translation=\"\">repeat(int)<\/code><\/td><td>Wiederholt die Zeichenfolge die angegebene Anzahl von Malen.<\/td><td><code data-no-translation=\"\">\"=\".repeat(5)<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die neuen Funktionen von Java 11 stellen sicher, dass Entwickler Zugriff auf moderne, effiziente Tools und APIs haben, und machen es zu einem unverzichtbaren Upgrade f\u00fcr jedes Java-Entwicklungsprojekt.<\/p>","protected":false},"excerpt":{"rendered":"<p>Feature Description Example Benefits Local-Variable Syntax for Lambda Parameters Allows the use of var in lambda expressions for improved readability. (var x, var y) -&gt; x + y Consistency in code. HTTP Client (Standard) New HTTP Client API supporting HTTP\/1.1 and HTTP\/2. HttpClient client = HttpClient.newHttpClient(); Modern, feature-rich API. Epsilon: A No-Op Garbage Collector A [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":925563,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-925546","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles"],"acf":[],"_links":{"self":[{"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/posts\/925546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/comments?post=925546"}],"version-history":[{"count":4,"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/posts\/925546\/revisions"}],"predecessor-version":[{"id":926504,"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/posts\/925546\/revisions\/926504"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/media\/925563"}],"wp:attachment":[{"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/media?parent=925546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/categories?post=925546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proxyelite.info\/de\/wp-json\/wp\/v2\/tags?post=925546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}