jdk11-新機能(ZGC、のHttpクライアントおよびその他の重要な特性)

ディレクトリ

01. JShell

02.ローカル変数の型推論(VAR「​​キーワード」)

03.新規いくつかの便利なAPIを追加

04.その他のコンテンツの一部を削除しました

05. Javaの標準の非同期のHTTPクライアント。

プログラムをコンパイルして実行する06.単純

07. Unicodeの10

08.取り外したJavaEEとCORBA Moudles

09.廃止NashornのJavaScriptエンジン

10. JEP:336:廃止Pack200のツールとAPI

11.新しいイプシロンガベージコレクタ

12. ZGCは、これが最も顕著な特徴である必要がありJDK11

13.完全G1に並列ガベージコレクションをサポートしています

14. JEP 332新しいHTTPSセキュリティプロトコルTLS 1.3

15. JEP 329:Poly1305 ChaCha20とRFC7539で指定された2つの暗号化アルゴリズム、代わりにRC4を達成

航空機のブラックボックスから16. Javaのフライトレコーダー

遭遇した問題のjdk11にプロジェクトをアップグレードCMP:

拡張

 

 

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

 

 

 

66元記事公開 ウォン称賛85 ビューに14万+を

おすすめ

転載: blog.csdn.net/qq_38380025/article/details/103591208