Zu den neuen Funktionen in JDK 8 gehören: Einführung von Lambda-Ausdrücken, Bereitstellung der Stream-API, Aktivierung von Client-TLS 1.2, Unterstützung des AEAD-Algorithmus, höhere Sicherheit, neues Modena-Design, neue Pakete usw.
Was ist neu in JDK 8
Java Platform, Standard Edition 8 ist eine funktionsreiche Hauptversion. Dieses Dokument fasst die Funktionen und Verbesserungen in Java SE 8, JDK 8 und Oracles Implementierung von Java SE 8 zusammen. Klicken Sie auf einen Komponentennamen, um eine detailliertere Beschreibung der Verbesserungen der Komponente zu erhalten.
Java-Programmiersprache
Lambda-Ausdrücke sind eine neue Sprachfunktion, die in dieser Version eingeführt wurde. Mit dieser Funktion können Sie Funktionen als Methodenparameter oder Code als Daten behandeln. Mithilfe von Lambda-Ausdrücken können Sie Instanzen von Einzelmethodenschnittstellen (sogenannte funktionale Schnittstellen) prägnanter darstellen.
Methodenverweise stellen leicht verständliche Lambda-Ausdrücke für Methoden bereit, die bereits Namen haben.
Standardmethoden ermöglichen das Hinzufügen neuer Funktionen zu den Schnittstellen der Bibliothek und stellen die Binärkompatibilität mit Code sicher, der für ältere Versionen dieser Schnittstellen geschrieben wurde.
Doppelte Annotationen unterstützen die mehrfache Anwendung desselben Annotationstyps auf dieselbe Deklaration oder Typverwendung.
Typanmerkungen unterstützen die Anwendung von Anmerkungen überall dort, wo ein Typ verwendet wird, nicht nur bei Deklarationen. In Kombination mit dem steckbaren Typsystem verbessert diese Funktion die Typprüfung Ihres Codes.
Verbesserte Typinferenz.
Methodenparameterreflexion.
Sammlung
Die neue java.util.stream-Klasse im Paket stellt eine Stream-API bereit, die Streams von unterstützt Elemente führen funktionale Operationen aus. Die Stream-API ist in die Collections-API integriert und kann Batch-Vorgänge für Sammlungen ausführen, z. B. sequentielle oder parallele Map-Reduction-Transformationen.
Leistungsverbesserungen für HashMap mit Schlüsselkonflikten
Kompaktes Profil
Enthält Java SE A vordefiniert Teilmenge der Plattform und unterstützt Anwendungen, die nicht die Bereitstellung und Ausführung der gesamten Plattform auf kleinen Geräten erfordern.
Sicherheit
Client TLS 1.2 standardmäßig aktivieren
Neue Änderungen an AccessController.doPrivileged Body unterstützt Code, der eine Teilmenge seiner Berechtigungen geltend macht, ohne die vollständige Stapeldurchquerung zu verhindern, um nach zusätzlichen Berechtigungen zu suchen
Stärkere passwortbasierte Verschlüsselungsalgorithmen
JSSE-Server -seitige Unterstützung für die SSL/TLS Server Name Indication (SNI)-Erweiterung
Unterstützung für den AEAD-Algorithmus: Der SunJCE-Anbieter wurde erweitert, um die AES/GCM/NoPadding-Verschlüsselungsimplementierung sowie den GCM-Algorithmus zu unterstützen Parameter. Der SunJSSE-Anbieter wurde außerdem erweitert, um auf dem AEAD-Modus basierende Verschlüsselungssammlungen zu unterstützen. Siehe Oracle Provider-Dokumentation, JEP 115.
Keystore-Verbesserungen, einschließlich des neuen Domänen-Keystore-Typs java.security.DomainLoadStoreParameter und der neuen Befehlsoption -importpassword
SHA-224-Nachrichtenauszug
Erweiterte Unterstützung für NSA Suite B-Verschlüsselung
Bessere Unterstützung für Hochentropie-Zufallszahlen generieren
Die Klasse java.security.cert.PKIXRevocationChecker wurde hinzugefügt, die zum Konfigurieren der Sperrprüfung von 🎜>
Neuer Rcache-Typ zum Kerberos 5-Wiedergabecache hinzugefügtjavafx.print-Paket stellt öffentliche Klassen für die JavaFX-Druck-API bereit. Weitere Informationen finden Sie im Javadoc.
Die WebView-Klasse enthält neue Funktionen und Verbesserungen. Weitere Informationen zu anderen HTML5-Funktionen, einschließlich Web-Sockets, Web-Workern und Web-Schriftarten, finden Sie unter Unterstützte HTML5-Funktionen.
Erweiterte Textunterstützung, einschließlich bidirektionalem Text, komplexer Textskripts (z. B. Thai- und Hindi-Steuerelemente) und mehrzeiligem Text mit mehreren Stilen in Textknoten.
Diese Version bietet Unterstützung für Hi-DPI-Displays.
CSS Styleable*-Klassen sind zur öffentlichen API geworden. Weitere Informationen finden Sie im Javadoc „Javafx.css“.
Die neue ScheduledService-Klasse ermöglicht den automatischen Neustart von Diensten.
JavaFX ist jetzt für ARM-Plattformen verfügbar. Das JDK für ARM umfasst die Basis-, Grafik- und Steuerungskomponenten von JavaFX.
Tools
Die Nashorn-Engine kann über den jjs-Befehl aufgerufen werden.
Der Java-Befehl wird zum Starten von JavaFX-Anwendungen verwendet.
Die Java-Manpage wurde neu geschrieben.
Klassendateien können über das jdeps-Befehlszeilentool analysiert werden.
Java Management Extensions (JMX) unterstützt den Fernzugriff auf Diagnosebefehle.
Das Jarsigner-Tool bietet die Möglichkeit, einen signierten Zeitstempel von einer Timestamp Authority (TSA) anzufordern.
Javac-Tool
Die Option -parameters des Befehls javac kann zum Speichern und Aktivieren formaler Parameternamen verwendet werden die Reflection-API zum Abrufen formaler Parameternamen.
Der Befehl javac implementiert jetzt korrekt die Typregeln für Gleichheitsoperatoren im Abschnitt 15.21 der Java Language Specification (JLS).
Das Javac-Tool unterstützt jetzt die Überprüfung des Inhalts von Javadoc-Kommentaren und vermeidet so verschiedene Probleme in den Dateien, die beim Ausführen von Javadoc generiert werden, wie z. B. ungültiges HTML oder Probleme mit der Barrierefreiheit. Diese Funktion kann über eine neue Xdoclint-Option aktiviert werden. Weitere Einzelheiten finden Sie in der Ausgabe beim Ausführen von „javac -X“. Diese Funktion ist auch im Javadoc-Tool verfügbar und standardmäßig aktiviert.
Das Javac-Tool unterstützt jetzt die Generierung nativer Header bei Bedarf. Dadurch entfällt die Notwendigkeit, das Javah-Tool separat in der Build-Pipeline auszuführen. Diese Funktion kann in Javac mit der neuen Option -h aktiviert werden, die das Verzeichnis angibt, in das Header-Dateien geschrieben werden. Eine Header-Datei wird für annotierte Konstantenfelder für jede Klasse generiert, die über eine native Methode verfügt oder eine neue Annotation vom Typ java.lang.annotation.Native verwendet.
Javadoc-Tool
Das Javadoc-Tool unterstützt die neue DocTree-API, sodass Sie Javadoc-Kommentare als abstrakte Syntaxbäume verwenden können zu durchqueren.
Das Javadoc-Tool unterstützt die neue Javadoc Access API, sodass Sie das Javadoc-Tool direkt aus Ihrer Java-Anwendung aufrufen können, ohne einen neuen Prozess auszuführen. Weitere Informationen finden Sie auf der Seite „Neue Funktionen“ von Javadoc.
Das Javadoc-Tool unterstützt jetzt die Überprüfung des Inhalts von Javadoc-Kommentaren und vermeidet so verschiedene Probleme in den Dateien, die beim Ausführen von Javadoc generiert werden, wie z. B. ungültiges HTML oder Probleme mit der Barrierefreiheit. Diese Funktion ist standardmäßig aktiviert und kann mit der neuen Option -Xdoclint gesteuert werden. Weitere Einzelheiten finden Sie in der Ausgabe beim Ausführen von „javadoc -X“. Das javac-Tool unterstützt diese Funktion ebenfalls, sie ist jedoch standardmäßig nicht aktiviert.
Internationalisierung
Unicode-Verbesserungen, einschließlich Unterstützung für Unicode 6.2.0
Verwendung von Unicode-CLDR-Daten und java.locale.providers-Systemeigenschaften
Neue Kalender- und Gebietsschema-API
Unterstützung für benutzerdefinierte Ressourcenpakete, die installiert werden als Erweiterungen
Bereitstellung
jetzt mit URLPermission verfügbar, um Sandbox-Applets und Java Web Start-Apps eine Verbindung zurück zum Server zu ermöglichen das hat sie angefangen. SocketPermission wird nicht mehr gewährt.
Das Permissions-Attribut ist im JAR-Dateimanifest der Haupt-JAR-Datei auf allen Sicherheitsstufen erforderlich.
Datum-Uhrzeit-Pakete
Eine neue Reihe von Paketen, die ein umfassendes Datum-Uhrzeit-Modell bieten.
Scripting
Rhino Javascript Engine wurde durch Nashorn JavaScript Engine
Pack200
IO und NIO
Die Leistung des Konstruktors java.lang.String(byte[], *) und der Methode java.lang.String.getBytes() wurde verbessert.
java.lang- und java.util-Pakete
Parallele Array-Sortierung
Standardcodierung und -decodierung Base64
Unterstützung für vorzeichenlose Arithmetik
JDBC
JDBC-ODBC-Brücke entfernt.
JDBC 4.2 führt neue Funktionen ein.
Java DB
JDK 8 enthält Java DB 10.10.
Netzwerk
Die Klasse java.net.URLPermission wurde hinzugefügt.
Wenn in der Klasse java.net.HttpURLConnection ein Sicherheitsmanager installiert ist, erfordert der Aufruf, der das Öffnen der Verbindung anfordert, Berechtigungen.
Parallelität
Einige neue Klassen und Schnittstellen wurden dem Paket java.util.concurrent hinzugefügt.
Einige neue Methoden wurden zur Klasse java.util.concurrent.ConcurrentHashMap hinzugefügt, um Aggregationsvorgänge basierend auf neuen Stream-Tools und Lambda-Ausdrücken zu unterstützen.
Neue Klassen wurden zum Paket java.util.concurrent.atomic hinzugefügt, um erweiterbare und aktualisierbare Variablen zu unterstützen.
Einige neue Methoden wurden zur Klasse java.util.concurrent.ForkJoinPool hinzugefügt, um universelles Pooling zu unterstützen.
Die neue Klasse java.util.concurrent.locks.StampedLock bietet eine funktionsbasierte Sperre, die den Lese-/Schreibzugriff über drei Modi steuern kann.
Java XML - JAXP
HotSpot
Neue Hardware-Intrinsics um den Advanced Encryption Standard (AES) zu verwenden. Die Flags „UseAES“ und „UseAESIntrinsics“ ermöglichen hardwarebasierte AES-Intrinsics für Intel-Hardware. Bei der Hardware muss es sich um Westmere-Hardware aus dem Jahr 2010 oder neuer handeln. Um beispielsweise Hardware-AES zu aktivieren, verwenden Sie die folgenden Flags:
-XX:+UseAES -XX:+UseAESIntrinsics
Um Hardware-AES zu deaktivieren, verwenden Sie die folgenden Flags:
-XX:-UseAES -XX:-UseAESIntrinsics
PermGen entfernt . Die von der Methode
aufgerufenen Bytecode-Anweisungen unterstützen die Standardmethoden in der Programmiersprache Java.
Versionshinweise zu Java Mission Control 5.3
JDK 8 enthält Java Mission Control 5.3.
Das obige ist der detaillierte Inhalt vonWas sind die neuen Funktionen von jdk8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!