Aufregende neue Funktionen in Java 9

Im September hat Oracle Java SE 9 mit über 150 neuen Funktionen veröffentlicht. Die neueste Version der weit verbreiteten Programmiersprache enthält mehrere neue Funktionen und APIs, um die Entwicklung von Anwendungen für große und kleine Geräte zu beschleunigen. Gleichzeitig helfen die von Java 9 bereitgestellten Funktionen Programmierern, die Leistung, Sicherheit und Wartbarkeit von Anwendungen zu verbessern. Daher ist es für Programmierer unerlässlich, einige der wichtigsten Funktionen von Java 9 zu verstehen.

Was Programmierer über Java 9 wissen müssen

Modulsystem

Die Entwickler können jetzt mit Better Support für HTML5 und JavaScript das JDK in mehrere Module aufteilen. Jede modulare JAR-Datei enthält einen Moduldeskriptor. Die Entwickler können die gegenseitige Abhängigkeit verschiedener Module durch require-Anweisungen definieren. Die Modularität erleichtert Programmierern die reibungslose Ausführung von JVM-Modulen auf kleinen Geräten, denen zusätzlichen Speicher fehlt. Gleichzeitig können sie auch nur die von der Anwendung benötigten APIs und JVM-Module ausführen.

Zusammenstellung im Voraus

Java 9 verbessert den Codekompilierungsprozess erheblich durch die AOT-Kompilierung (Ahead-of-Time). Die Programmierer können die AOT-Kompilierung nutzen, um Java-Klassen in nativen Code zu kompilieren, noch bevor die virtuelle Maschine sie startet. Die AOT-Kompilierung verbessert die Leistung sowohl großer als auch kleiner Anwendungen, indem die großen Mängel der Just-in-Time-Kompilierung (JIT) überwunden werden. Im Gegensatz zur JIT-Kompilierung stellt die AOT-Kompilierung sicher, dass keine Java-Methode unkompiliert bleibt.

Real-Eval-Print-Loop-Tool

Java 9 wird mit einem neuen Real-Eval-Print-Loop (REPL)-Befehlszeilentool geliefert – Shell. Shell ist mit Funktionen ausgestattet, um deklarative Anweisungen und Ausdrücke interaktiv auszuwerten. Ein Programmierer kann Shell verwenden, um die Qualität von Java-Code vor der Kompilierung zu beurteilen. Er kann einfach einen Code eingeben und Feedback einholen. Shell hat sogar die Möglichkeit, Registerkarten zu vervollständigen und erforderliche Terminal-Semikolons automatisch hinzuzufügen. Das neue REPL-Tool lässt Java mit weit verbreiteten Programmiersprachen wie Python und Scala konkurrieren.

Bessere Unterstützung für HTML5 und JavaScript

Das verbesserte Javadoc-Dokumentationstool von Java 9 kann HTML5-Markup generieren. Außerdem unterstützt die neueste Version der Programmiersprache mehrere neue Zeichen, Blöcke und Skripte als Teil des Kodierungsstandards Unicode 8.0. Gleichzeitig verfügt Java 9 über eine verbesserte und leichtgewichtige JavaScript-Engine, die es Programmierern erleichtert, JavaScript-Code in Java-Anwendungen einzubetten. Darüber hinaus können die Entwickler die ECMAScript-Codeanalyse in verschiedenen IDEs und Frameworks direkt mit der von JDK bereitgestellten Parser-API für Nashorns ECMAScript-Syntaxbaum aktivieren.

Verbesserte Stream-API

Beim Schreiben von Java-Code verwenden Programmierer Strings, um Berechnungen auszudrücken. Java 8 beschleunigte die Stream-Verarbeitung durch die Bereitstellung der Streams-API. Java 9 wird mit einer verbesserten Version der Streams-API geliefert, die es Entwicklern ermöglicht, Elemente basierend auf bestimmten Bedingungen aus Stream zu nehmen und zu löschen, indem sie Methoden hinzufügen. Außerdem wurde die verbesserte Streams-API mit Funktionen zum Erstellen eines Streams für Nullable-Werte und zum Durchlaufen von Stream-Elementen entwickelt.

Multi-Resolution Image API

Java 9 führt eine neue Schnittstelle – MultiResolutionImage – ein, um ein einzelnes Bild mit mehreren Auflösungen zu erstellen, indem mehrere Bilder mit unterschiedlichen Auflösungen gekapselt werden. Die Entwickler können außerdem die von Java 9 bereitgestellte Multi-Resolution Image API verwenden, um verschiedene Varianten eines einzelnen Bildes zu erhalten. Außerdem können sie die API verwenden, um ein bestimmtes Bild basierend auf der erforderlichen Auflösung auszuwählen. Daher können die Java-Programmierer jetzt eine einzige API verwenden, um ein einheitliches Bild mit mehreren Auflösungen zu erstellen und auflösungsspezifische Bildvarianten zu erhalten.

http://2 Client-API

Java 9 hat die Art und Weise, wie Anwendungen HTTP-Aufrufe durchführen, vollständig verändert. Es ersetzt die HttpURLConnection-API durch eine neue HTTP-Client-API. Die HTTP-Client-API unterstützt beides http://2 und WebSockets. Die API ist derzeit jedoch nicht Bestandteil von Java SE. Es ist als Inkubatormodul implementiert, das unter dem Namensraum jdk.incubtor lebt. Die HTTP-Client-API unterstützt jedoch die neuesten Kommunikationsstandards und überwindet gleichzeitig die Mängel der HttpURLConnection-API.

Stack-Walking-API

Beim Schreiben von Java-Code erkunden Programmierer Möglichkeiten, um auf Stack-Trancen effizient zuzugreifen und sie zu filtern. Die neueste Java-Version vereinfacht das Stack-Walking, indem sie die Stack-Walking-API bereitstellt. Die neue API erleichtert Programmierern den Zugriff auf und das Filtern von Stack-Trace-Informationen. Es unterstützt außerdem sowohl kurze als auch lange Spaziergänge. Daher wird es für Programmierer einfacher, auf den gesamten Stack zuzugreifen und ihn zu filtern, ohne sich auf die virtuelle Maschine zum Erfassen der Stack-Informationen verlassen zu müssen.

Datagram Transport Layer Security (DTLS) API

Java 9 hilft Entwicklern beim Erstellen sicherer Anwendungen, indem es eine API für Datagram Transport Layer Security (DTLS) bereitstellt. Die API hält die Client- und Server-Kommunikation sicher, indem sie das Risiko von Datenmanipulation, Nachrichtenfälschung und Abhören eliminiert. Außerdem bietet es Kommunikationsschutz für eine Vielzahl von Anwendungen, die das Datagram Transport Protocol (DTP) verwenden. Obwohl DTLS auf der Grundlage von Transport Layer Security (TLS) entwickelt wurde, implementiert es das SSL-Protokoll.

Verbesserte Prozess-API

Java-Programmierer empfinden es oft als entmutigend, Betriebssystemprozesse zu kontrollieren und zu verwalten. Die von früheren Entwicklerversionen bereitgestellte Prozess-API, um auf den nativen Code zuzugreifen und zusätzlichen Code zu schreiben. Aber die verbesserte Process API von Java 9 erleichtert Programmierern die Steuerung und Verwaltung von Betriebssystemprozessen. Sie können die API verwenden, um eine Java-Anwendung direkt mit dem Betriebssystem interagieren zu lassen. Außerdem können sie die neuen Methoden nutzen, um Prozessnamen und -zustände zu verarbeiten, ohne zusätzlichen Code schreiben zu müssen.

Veraltete Funktionen

Trotz der Bereitstellung mehrerer neuer Funktionen unterstützt Java 9 einige der von Java 8 bereitgestellten Funktionen nicht. Zum Beispiel unterstützt es die Applet-API nicht mehr. Das Java-Webentwickler müssen von Applet API zu Java Web Start wechseln, um Anwendungen von Webbrowsern aus zu starten. Ebenso beschleunigt Java 8 die Entwicklung von Garbage Collectors in der virtuellen HotSpot-Maschine, indem es Concurrent Mark Sweep (CMS) Garbage Collectors veraltet. Bei der Verwendung der neuesten Java-Version fehlt Programmierern auch die Möglichkeit, Java-Warnungen bei Importanweisungen zu erhalten und JRE beim Start auszuwählen.

Insgesamt bietet Java 9 einige neue Funktionen, um die Entwicklung von Anwendungen sowohl für große als auch für kleine Geräte zu vereinfachen. Einige der von Java 9 eingeführten Binärdateien und Quellcodes sind jedoch nicht mit früheren Versionen der Programmiersprache kompatibel. Die Programmierer müssen bei der Migration bestehender Anwendungen auf Java 9 sogar mehrere Änderungen am Code vornehmen und Bibliotheken aktualisieren. Die Entwickler müssen jedoch erwägen, ihre bestehenden Anwendungen auf Java 9 zu aktualisieren, um diese neuen Funktionen und Verbesserungen nutzen zu können. Java-Entwickler sollten diese dringend empfohlenen Tools auch für eine bessere Programmierung verwenden.



Quelle von Arun Kumar Biswal

Kommentar verfassen