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