受容的特性
1。ジグソープロジェクト
Jigsawプロジェクトは、Javaコードをモジュール化し、JREを互いに協力できるコンポーネントに分割することです。 JEPは、ジグソーウの4つのステップへの最初のステップであり、JREとJDKの実際の構造を変更することはありません。 JEPはJDKソースコードをモジュラーにするため、コンピレーションシステムがモジュールコンパイルと構築時にモジュール境界を確認できるようにします。このプロジェクトはもともとJava 8でリリースされましたが、遅延によりJava 9に追加されます。
完了すると、プロジェクトに従ってカスタムコンポーネントがRt.jarのサイズを縮小する必要がある場合があります。 JDK 7およびJDK 8のRt.Jarパッケージには約20,000のカテゴリがありますが、多くのクラスは特定の環境では使用されていません(Java 8のコンパクトな分布特性であっても、いくつかのソリューションが含まれています。 )。これにより、Javaが小さなコンピューティングデバイス(ネットワークデバイスなど)に簡単に適用できるようにし、セキュリティとパフォーマンスを向上させ、開発者がこれらのクラスライブラリの構築と維持を容易にすることです。
2.プロセスAPIを簡素化します
現在のところ、Javaがシステムを制御および管理する能力は制限されています。たとえば、単にプログラムPIDを取得するために、ローカルプログラムに電話するか、自分で変換ソリューションを使用します。さらに、各(システム)プラットフォームには、正しい結果を得ることができるようにするために、異なる実装が必要です。
コードはLinux PIDを取得できると予想されますが、今では次のようになります。
public static void main(string [] args)は例外をスローします{proces proc = runtime.getRuntime() .waitfor()== 0){proc.getinputStream()int.abable(); ); system.out.println( "your pid is" + pid);}}
Java 9では、次の方法に変更できます(すべてのオペレーティングシステムをサポート):
system.out.println( "あなたのpidは" + process.getCurrentPid());
この更新により、Javaのオペレーティングシステムを使用したインタラクティブな機能が拡大します。いくつかの新しい直接的なメソッドを追加して、PIDを処理し、名前とステータスを処理し、複数のJVMとプロセスなどを列挙します。
3。軽量JSON API
現在、JSONには多くのJavaツールがありますが、JSON APIの独自性は、JSON APIがJava言語、軽量であり、Java 8の新機能を使用することです。 java.utilバッグでリリースされます(ただし、JSR 353のJSONは、3番目のパーティバッグまたはその他の方法で処理されます)。
4。お金と通貨のAPI
Java 8が日付と時刻のAPIを導入した後、Java 9は通貨を表す新しい通貨APIを導入し、このプロジェクトの特定の状況については、https://github.com/にアクセスしてください。 Javamone、使用の指示と例がそれに記載されています。
//新しいタイプ:Money&FastMoney Money amt1 = Money.of(10.1234556123456789、//お金はbigdecimfastmoney.of(123456789、 "USD"); Total = AMT1.ADD(AMT2)。 ); // 1.202、12 USD
JSR 354の詳細
5。ロックのメカニズムを改善します
ロックの使用は、多くのJavaマルチスレッドアプリケーションのパフォーマンスを制限するボトルネックです。重い負荷の毎日の適用をシミュレートするのと同じリソース。
このような圧力テストにより、JVMの極端なスループットを推定できます(1秒あたりのメッセージ)は、22の異なるテストで優れた結果を達成しました。アプリケーションを適用したり、アプリケーションを適用したり、アプリケーションに適用したり、アプリケーションを適用したり、アプリケーションを適用し、アプリケーションが適用され、アプリケーションが適用され、アプリケーションが適用され、アプリケーションが適用されます。アプリケーションが適用され、アプリケーションを適用できます。
JEP 143に関するその他のコンテンツ
6.コードセグメントキャッシュ
Java 9の別のパフォーマンス改善は、特定のコードが繰り返し実行されると、JIT(Just-in-Time)コンパイラから得られます。キャッシュ内のさまざまなセグメントにアクセスすることで改善されます。
元のシングルキャッシュ領域とは異なり、新しいコードキャッシュは、コード自体のライフサイクルに応じて3つのタイプに分割されます。
-Ondingコード(JVMビルド-IN/非メソッドコード)
- 短期コード(特定の条件下でのみ適用可能なプロファイルコード)
- 長期コード(非構成コード)
キャッシュセグメントは、たとえば、あらゆる面でプログラムのパフォーマンスを改善します。ガベージのリサイクルとスキャンを行うと、非メトッドコード(Foreverコード)を直接スキップできます。
JEP 197の詳細
7.インテリジェントなJavaコンピレーション、第2段階
インテリジェントなJavaコンパイルツールSjavacの第1フェーズは、JEP 139プロジェクトで始まり、マルチコアプロセッサでJDKのコンパイル速度を上げました(JEP 199)。それがそれになるようにし、JavaコンパイルツールのJavaデフォルトのユニバーサルコンパイルツールになります。
楽しみにしている他のコンテンツ:
8。HTTP2.0クライアント
HTTP 2.0標準はまだ公式にリリースされていませんが、Java 9のリリース前にレビューを完了することができると予想されます。現在のHTTPURLCONNECTIONは、同時に、HTTP 2.0とネットワークインターフェイス(元のWebSockets)が実装されていませんが、JEPのコンテンツを含めることを望んでいます。
公式のHTTP 2.0 RFC(一連のドキュメントレコードなど)は、2015年2月にリリースされる予定です。これは、GoogleのSPDY(スピーディ、クイック)プロトコルに基づいていますHTTP 1.1プロトコルに基づいてネットワークに。
9。Kulla計画:Javaのリプル実装
Kullaという名前のこのプロジェクトは、2015年4月に統合されることを最近発表しました。Java9のリリースに追いつくことはもう期待していません-print-loop)メソッド、つまり、高速テストのためにJavaコードの数行を実行する場合は、これらの行をアイテムまたはメソッドにカプセル化する必要があります。しかし、彼らは公式のサポートを受けておらず、KullaプロジェクトはJavaがリリースした公式のREPLソリューションである可能性があります。
Kulla計画の詳細
これらの新機能はどこから来ていますか?
JEPとJSRは何もありません。
セキュリティ、ネットワーク、スイング、ホットスポット、組織、および共通の関心のある個人などの特定の技術コンテンツ
プロジェクト作成コード、ドキュメント、およびその他の作業は、少なくとも最近のLambdaプログラム、ジグソーパンプラン、スマトラプログラムなど、グループによってスポンサーとサポートされています。
JDK改善提案(JEP) - 新しい試みが必要な場合、JEPはJCPの前または同時に非公式の仕様を提案できます(Javaコミュニティプロセス)。
Java Norm Proposal(JSR) - この段階には、Group/ Items、JEP、JCPメンバー、またはJavaコミュニティ(コミュニティ)メンバーが登場します。