jdk11- nouvelles fonctionnalités (ZGC, Http client et d'autres caractéristiques importantes)

annuaire

01. JShell

02. inférence de type variable locale (var "mot-clé")

03. Nouveau ajouter une API utile

04. enlevé une partie de l'autre contenu

05. Java Standard client HTTP asynchrone.

06. plus simple à compiler et exécuter le programme

07. Unicode 10

08. Retirez le JavaEE et Moudles CORBA

09. Déprécier le JavaScript Nashorn Engine

10. JEP: 336: Déprécier les outils pack200 et API

11. Le nouveau garbage collector Epsilon

12. ZGC, cela devrait être le plus caractéristiques remarquables jdk11

13. soutient pleinement la collecte des ordures parallèle sur G1

14. JEP 332 nouveau protocole de sécurité HTTPS TLS 1.3

15. JEP 329: Poly1305 réaliser ChaCha20 et deux algorithmes de chiffrement spécifiés dans RFC7539, au lieu de RC4

16. Java Recorder Vol de boîte noire des avions

cmp projet de mise à niveau en question jdk11 rencontré:

expansion

 

 

01. JShell

jshell cet outil interactif qui permet le langage de script Java aussi à terme, vous pouvez commencer à jshell de la console, entrez une expression directement dans le jshell et voir les résultats de son exécution. Lorsque vous avez besoin de tester une méthode des résultats d'exploitation, ou rapidement les expressions sont évaluées, jshell sont très pratiques. jin'xi rapide

Version java -version java Voir

jshell dans la coque

int n = 20

System.out.println (n)

/Aidez-moi

 

02. inférence de type variable locale (var "mot-clé")

 

var amure java = "amure java";

System.out.println (javastack);

inférence de type variable locale est le type de gauche directement les définitions var, sans écrire un type spécifique, le compilateur peut déduire automatiquement le type basé sur le droit d'expression,

var Syntaxe: inférence de type variable locale.

notes:

1) var a, non pas parce qu'il ne peut pas être déduit.

2) le type de données de l'attribut de la classe ne peut pas être utilisé var.

Avant Java 10, vous devez déclarer un objet String.

L'avantage d'utiliser var est dans l'utilisation du paramètre d'expression lambda pour ajouter des commentaires

(@Deprecated var x, @Nullable var y) -> X.Procédé (y);

 

03. Nouveau ajouter une API utile

1, Jdk qui est fixé (Liste / Set / carte) sont ajoutés et copyOf des méthodes, les deux pour créer un ensemble d'immuable, et de regarder la différence entre leur utilisation.

2, Stream renforcer

3, une série de procédé de traitement de chaîne augmentant

4, en option renforcer

 

04. enlevé une partie de l'autre contenu

Supprimer des éléments

démontées com.sun.awt.AWTUtilities

Sun.misc.Unsafe.defineClass enlevé,

Au lieu d'utiliser java.lang.invoke.MethodHandles.Lookup.defineClass

Suppression Thread.destroy () et la méthode Thread.stop (Throwable)

Suppression sun.nio.ch.disableSystemWideOverlappingFileLockCheck, propriété sun.locale.formatasdefault

Module jdk.snmp enlevé

JavaFX supprimé, estimation OpenJDK de version java10 est supprimée, oracle jdk10 n'a pas encore été JavaFX enlevé, tandis que la version java11 de l'oracle version jdk supprime également JavaFX

Retirez la Java Mission Control, puis retirez du JDK, il a besoin de son propre téléchargement séparé

Suppression des certificats racine: Baltimore Code de Cybertrust Signature CA, SECOM, AOL et Swisscom

articles Abandoned

-XX + AggressiveOpts Options

-XX: + UnlockCommercialFeatures

-XX: + option LogCommercialFeatures n'est plus nécessaire

 

05. Java Standard client HTTP asynchrone.

java 9 a commencé à introduire une requête HTTP de traitement API client HTTP, l'API prend en charge à la fois synchrone et asynchrone, et déjà officiellement disponibles, vous pouvez trouver cette API dans le package java.net en Java 11.

 

06. plus simple à compiler et exécuter le programme

 

lanceur java programme de soutien amélioré pour exécuter un fichier de code source java unique

// Compile

javac Javastack.java

// Run

Java Java Tack

A notre connaissance à l'intérieur pour exécuter un code source Java, vous devez compiler, exécuter, la mise en œuvre de l'action en deux étapes. Dans les versions futures de Java 11 par une commande java obtenir directement, comme indiqué ci-dessous.

 

java Javastack.java

 

07. Unicode 10

Unicode 10 ajoute 8518 caractères, ont totalisé 136,690 caractères et a ajouté quatre scripts. En plus de 56 nouvelles émoticônes emoji.

 

08. Retirez le JavaEE et Moudles CORBA

Module JavaEE enlevé et la technologie CORBA est pas utilisé dans le java11

L'élimination des déchets a chuté étiqueté java11 sera java9 le module CORBA et Java EE, comme suit:

(1) en relation xml,

java.xml.ws,

java.xml.bind,

java.xml.ws,

java.xml.ws.annotation,

jdk.xml.bind,

jdk.xml.ws est enlevé,

Seuls java.xml, java.xml.crypto, jdk.xml.dom ces modules;

(2) java.corba,

java.se.ee,

java.activation,

java.transaction est enlevé,

Mais java11 ajouter un module java.transaction.xa

 

09. Déprécier le JavaScript Nashorn Engine

Abrogation moteur Nashorn javascript, prêt à être supprimés dans les versions ultérieures sur, il est nécessaire d'envisager l'utilisation de GraalVM

 

10. JEP: 336: Déprécier les outils pack200 et API

Unpack200 pack200 abolis et des outils, et java.util.jar pack200 API. outil jar pack200 est principalement utilisé pour compresser le paquet, mais parce que, après des vitesses de téléchargement de réseau mise à niveau et la mise en place d'un système modulaire ne dépend plus java9 pack200, donc cette version supprimera dehors.

 

11. Le nouveau garbage collector Epsilon

Un NoOp Garbage Collector

Description des caractéristiques du JDK sont: développer une allocation de mémoire de processus, mais ne met pas en oeuvre un mécanisme de récupération de la mémoire GC réelle, une fois la mémoire de tas disponible est utilisé, JVM Sortira.

S'il y a appel System.gc (), en fait, rien ne se passe (dans ce scénario et -XX: + DisableExplicitGC le même effet), parce qu'il n'y a pas de collecte des déchets, cette mise en œuvre peut mettre en garde une tentative d'utilisateur pour forcer le GC est futile.

 

Utilisation: -XX: + UnlockExperimentalVMOptions -XX: + UseEpsilonGC

Si l'option -XX: + UseEpsilonGC, le programme se retire rapidement en raison du manque d'espace tas

 

Les principales utilisations sont les suivantes:

Test de performance (il permet de filtrer les artefacts de performance causés par GC)

stress tests de la mémoire (par exemple, connaître le cas de test doit être attribué plus de 1 Go de mémoire, nous pouvons utiliser -Xmx1g -XX: + UseEpsilonGC, si le programme en question, le programme se bloque, ce qui indique une fuite de mémoire)

JOB très courtes tâches (objets de ces tâches, accepter le GC nettoyer la pile qui sont un gaspillage d'espace)

test d'interface VM

retard de dernière goutte et le débit d'amélioration

 

12. ZGC, cela devrait être le plus caractéristiques remarquables jdk11

GC temps de pause ne dépassera pas 10 ms

À connaître des centaines de méga-octets de petit tas, il peut aussi gérer plusieurs piles de T (OMG)

Et G1 par rapport au débit d'application ne tombera pas plus de 15%

Jeter les bases pour la fonction future de GC et utiliser un pointeur colord et les barrières de charge Optimisation

Le support initial que les systèmes 64 bits

Utilisation: -XX: + UnlockExperimentalVMOptions -XX: + UseZGC, parce que ZGC est encore au stade expérimental, il est donc nécessaire de déverrouiller la fonction par les paramètres JVM

 

13. soutient pleinement la collecte des ordures parallèle sur G1

 

Pour G1 GC, par rapport à 8 JDK, la mise à niveau de 11 JDK peut profiter gratuitement: parallèle complet GC, tas adaptatif CardTable balayage rapide occupée redimensionné (IHOP), le type de l'étape de déchargement simultané comme chiffres . Ceux-ci sont de plus en plus pour le G1, qui est même série complète GC et d'autres boardshort ont été largement critiquées, vous trouverez la configuration GC et le réglage de plus en plus pratique dans jdk11.

 

14. JEP 332 nouveau protocole de sécurité HTTPS TLS 1.3

Mettre en œuvre le protocole TLS version 1.3, TLS permet au client et serveur sur Internet dans un empêcher l'écoute clandestine, la falsification et la communication bidirectionnelle de la falsification des messages.

 

15. JEP 329: Poly1305 réaliser ChaCha20 et deux algorithmes de chiffrement spécifiés dans RFC7539, au lieu de RC4

 

16. Java Recorder Vol de boîte noire des avions

jcmd <pid> JFR.start

jcmd <pid> JFR.dump filename = recording.jfr

jcmd <pid> JFR.stop

 

JFR imprimer --Les CPULoad recording.jfr

 

JFR imprimer --Les GarbageCollection recording.jfr

 

 

 

Publié 66 articles originaux · louange gagné 85 · Vues 140000 +

Je suppose que tu aimes

Origine blog.csdn.net/qq_38380025/article/details/103591208
conseillé
Classement