01. JShell
また、実行するようなJavaスクリプト言語を可能にする、このインタラクティブなツールをjshell、あなたは、コンソールからjshell開始jshellに直接式を入力し、その実行結果を表示することができます。あなたは業績のメソッドをテストする必要がある場合、または迅速式に評価され、jshell非常に実用的です。クイックjin'xi
Javaの-version javaのバージョンを表示
シェルにjshell
int型のn = 20
System.out.println(N)
/助けて
02.ローカル変数の型推論(VAR「キーワード」)
VAR Javaのタック= "Javaのタック"。
System.out.println(javastack)。
ローカル変数の型推論は、特定の種類を記述することなく、直接、左VAR定義のタイプで、自動式の右側に基づいて型を推測できるコンパイラ、
VAR構文:ローカル変数の型推論。
注意点 :
1)VaRのA;ので、それを推測することができないではないので。
2)クラスの属性のデータ型が使用されVARすることはできません。
Javaの10の前に、あなたはStringオブジェクトを宣言する必要があります。
VARを使用する利点は、コメントを追加するラムダ式のパラメータを使用することです
(@Deprecated VaRのX、@Nullable VARのY) - > x.process(Y)。
03.新規いくつかの便利なAPIを追加
1は、(一覧/設定/地図)に設定されているJDKは、それらの両方は、不変のセットを作成し、その使用の違いを見て、メソッドの追加とcopyOfされています。
2、ストリーム強化します
3、増加列処理方法の一連
4、オプションの強化
04.その他のコンテンツの一部を削除しました
項目を削除
削除さcom.sun.awt.AWTUtilities
削除さsun.misc.Unsafe.defineClass、
代わりにjava.lang.invoke.MethodHandles.Lookup.defineClassを使用します
除去Thread.destroy()とはThread.stop(Throwableの)方法
削除されたsun.nio.ch.disableSystemWideOverlappingFileLockCheck、sun.locale.formatasdefaultプロパティ
モジュールの取り外しjdk.snmp
java10バージョンから除去JavaFXの、OpenJDKの推定値が除去されているOracle JDKバージョンのjava11バージョンものJavaFXを除去しながら、オラクルjdk10は、まだ、除去のJavaFXされていません
Javaのミッションコントロールを削除し、その後、JDKから削除し、それはそれ自身の個別のダウンロードを必要とします
ボルチモアサイバートラストコード署名CA、セコム、AOLとスイスコム:ルート証明書を削除しました
放棄されたアイテム
-XX + AggressiveOptsオプション
-XX:+ UnlockCommercialFeatures
-XX:+ LogCommercialFeaturesオプション不要になりました
05. Javaの標準の非同期のHTTPクライアント。
Javaの9は処理のHTTP要求のHTTPクライアントAPIを導入し始めた、APIは、同期および非同期、すでに正式に利用可能の両方をサポートし、あなたはJavaの11でjava.netパッケージには、このAPIを見つけることができます。
プログラムをコンパイルして実行する06.単純
単一のJavaソースコードファイルを実行するための拡張サポートプログラムjava起動
//コンパイル
javacのJavastack.java
//ファイル名を指定して実行
JavaのJavaのタック
Javaソースコードを実行するために私たちの内部の知識では、あなたは、アクションの実行、2段階の実装をコンパイルする必要があります。以下に示すようにjavaコマンドによって、Javaの11の将来のバージョンでは、直接、得ます。
javaのJavastack.java
07. Unicodeの10
Unicodeの10は、8518個の文字を追加します136690文字、コメントを追加しました4つのスクリプトに上った。と同様に56個の新しい絵文字顔文字。
08.取り外したJavaEEとCORBA Moudles
JavaEEのモジュールを取り出し、CORBA技術がjava11で使用されていません
除去は、次のようにjava11ラベルされた廃棄物は、CORBAおよびJava EEモジュールをjava9ますドロップ:
(1)XML関連、
java.xml.ws、
java.xml.bind、
java.xml.ws、
java.xml.ws.annotation、
jdk.xml.bind、
jdk.xml.wsが削除され、
のみjava.xml、java.xml.crypto、jdk.xml.domこれらのモジュール。
(2)java.corba、
java.se.ee、
java.activation、
java.transactionが削除され、
しかし、モジュールjava.transaction.xaを追加java11
09.廃止NashornのJavaScriptエンジン
それ以降のバージョンで出て取り外すことができ廃止NashornのJavaScriptエンジンは、GraalVMの使用を検討する必要があります
10. JEP:336:廃止Pack200のツールとAPI
unpack200 pack200で廃止し、ツール、および持つjava.util.jar Pack200のAPIインチ Pack200のジャーツールは、主にパッケージを圧縮するために使用されていないが、このバージョンでは、それを削除しますので、アップグレードネットワークのダウンロード速度とモジュラーシステムの導入後、もはやjava9 Pack200のに依存しているためです。
11.新しいイプシロンガベージコレクタ
NOOPガベージコレクタ
JDKの特性の説明は、次のとおりです。プロセスのメモリ割り当てを開発するが、利用可能なヒープメモリを使い切った後は、JVMが終了しますが、実際のGCメモリ回復メカニズムを実装していません。
System.gc()の呼び出しは、実際には、何も(このシナリオと-XXで:+ DisableExplicitGC同じ効果)が起こらない場合は何のガベージコレクションが存在しないため、この実装は、GCは無益である強制するユーザーの試みを警告することがあります。
使用方法:-XX:+ UnlockExperimentalVMOptions -XX:+ UseEpsilonGC
オプション-XX場合:+ UseEpsilonGCは、プログラムはすぐに理由ヒープスペース不足の撤退しました
次のように主な用途は以下のとおりです。
性能試験(それはGCによるパフォーマンスのアーティファクトをフィルタリングするのに役立ちます)
メモリー・ストレス・テストは、(例えば、テストケースは、1GBのメモリを超えない割り当てる必要があります知っている、我々は-Xmx1G -XXを使用することができます:+ UseEpsilonGCは、問題のプログラムは、プログラムがクラッシュする場合は、メモリリークを示します)
JOB非常に短いタスクは、(GCを受け入れるスペースの無駄ですスタックをクリーンアップするために、このようなタスクオブジェクト)
VMインターフェース・テスト
ラストドロップディレイ&スループット改善
12. ZGCは、これが最も顕著な特徴である必要がありJDK11
GC休止時間は10ミリ秒を超えることはありません
どちらの小さな杭の数百メガバイトに対処するために、それはまた、Tのいくつかの山(OMG)を処理することができます
そして、アプリケーションのスループットに比べG1は15%以上落ちることはありません
将来のGC機能の基礎を築くとcolordポインタと負荷障壁の最適化を使用します
最初のサポートのみ64ビットシステム
使用方法:-XX:+ UnlockExperimentalVMOptions -XX:+ UseZGC、JVMパラメータによって機能のロックを解除する必要があるので、ZGCは、実験段階にとどまっているため
13.完全G1に並列ガベージコレクションをサポートしています
JDK 8に比べG1 GCについては、JDK 11へのアップグレードを無料で楽しむことができます:パラレルフルGC、高速走査CardTable適応ヒープは、(IHOP)符号のような同時搬出ステージの種類をスケーリング占有しました。これらは、完全なGCおよびその他のショートボードが広く批判されていたとしてもシリアルであるG1、のために成長している、あなたは、より多くの便利なJDK11でのGCの設定やチューニングを見つけることができます。
14. JEP 332新しいHTTPSセキュリティプロトコルTLS 1.3
TLSプロトコルバージョン1.3を実装し、TLSは、インターネットを介してクライアントとサーバを許可するには、盗聴、改ざん、およびメッセージ偽造の双方向通信を防ぎます。
15. JEP 329:Poly1305 ChaCha20とRFC7539で指定された2つの暗号化アルゴリズム、代わりにRC4を達成
航空機のブラックボックスから16. Javaのフライトレコーダー
jcmd <PID> JFR.start
jcmd <PID> JFR.dumpファイル名= recording.jfr
jcmd <PID> JFR.stop
JFR印刷--eventsすなわち、cpuload recording.jfr
JFR印刷--events GarbageCollection recording.jfr