Java 15が14の新機能とともに正式にリリースされました

360:シールドクラス(プレビュー)
クローズクラス(プレビュー機能)は、Javaプログラミング言語を拡張し、他のクラスまたはインターフェースがそれらを拡張または実装するのを防ぐために使用されるクローズクラスまたはクローズインターフェースです。

これは素晴らしいことです。この機能を使用すると、将来、継承したくないことに気づき、許可を得る必要があります。

この例を見てください:

公開抽象封印クラス学生
はZhangSan、LiSi、ZhaoLiuを許可します{

}
クラスの学生は、それが閉じられたクラスであり、唯一の継承に指定3つのサブクラスを可能にすることを示す、密封さによって変更されます。

371:非表示クラス
非表示クラス。この外観も非常に興味深い機能です。

非表示クラスはフレームワーク用に設計されています。非表示クラスは、他のクラスのバイトコードから直接使用することはできません。実行時にのみ生成でき、リフレクションを介して間接的に使用できます。

372:Nashorn JavaScriptエンジンの
削除Nashorn JavaScriptスクリプトエンジン、API、およびjjsツールが削除されました。これらは、JDK 11から非推奨としてマークされており、JDK 15が削除されるのは正常です。

Nashornは、Rhinoスクリプトエンジンを置き換えるためにJDK 1.8で導入されたJavaScriptスクリプトエンジンです。NashornはECMAScript-262 5.1の完全な実装であり、JavaとJavaScriptの互換性を強化し、パフォーマンスを大幅に向上させます。

なぜ削除するのですか?

公式の説明では、ECMAScriptスクリプト言語の構造とAPIの適応速度がますます速くなっているため、Nashornを維持することは非常に困難です。

373:レガシーDatagramSocket APIを
再実装すると、古いDatagramSocket APIインターフェースが再実装され、java.net.DatagramSocketとjava.net.MulticastSocketがシンプルで最新の基本的な実装に変更されます。これにより、保守とデバッグが容易になります。

新しい低レベルの実装では、仮想スレッドを簡単に使用でき、現在Loomプロジェクトで検討されています。これは、JEP 353の後続の更新バージョンでもあります。JEP353は、ソケットAPIを再実装しました。

374:バイアスロックの無効化と非推奨バイアスロック
を無効にして廃止する準備をします。JDK15 では、バイアスロックはデフォルトで無効になっており、関連するすべてのコマンドラインオプションは破棄されます。

後で、バイアスロックを引き続きサポートする必要があるかどうかを判断しますが、このようなロック同期の最適化を維持するためのコストは高すぎます。

375:instanceof(2番目のプレビュー)の
パターンマッチング(2番目のプレビュー)最初のプレビューはJDK 14で提案されました。スタック長の前に書かれた詳細なチュートリアルを表示するには、ここをクリックしてください。

Java 14より前:

if(object instanceof Kid){ Kid kid =(Kid)object; //… } else if(object instanceof Kiddle){ Kid kid =(Kid)object; //… } Java 14以降:






if(object instanceof Kid kid){ //… } else if(object instanceof Kiddle kiddle){ //… } Java 15はこの機能を調整していないので、機能のプレビューを続けてください。未熟。




377:ZGC:スケーラブルな低遅延のガベージコレクター
ZGC:スケーラブルな低遅延のガベージコレクター。

ZGCは最初にJDK 11に統合されました。JDK15は、ZGCガベージコレクターをプレビュー機能から正式な機能に変更しただけでした。

このJEPはデフォルトのGCを変更しません。デフォルトはG1のままです。

378:テキストブロック
テキストブロックは複数行の文字列であり、ほとんどのエスケープシンボルの使用を回避でき、予測可能な方法で文字列を自動的にフォーマットし、必要に応じて開発者がフォーマットを制御できるようにします。

テキストブロックは当初、JDK 12で追加される予定でしたが、最終的に撤回されました。その後、JDK 13でプレビュー機能として追加され、JDK 14で再度プレビューされました。JDK15では、テキストブロックが最終的に修正され、まだ完了していませんさらに変更。

この例を見ると理解できるでしょう:

Java 13より前:

文字列html =“ \ n” +
"\ n" +
"

こんにちは、Javaテクノロジースタック

\ n "+
"

注意を払い、より多くの乾物を共有することを歓迎します

\ n "+
" \ n "+
" \ n ";
Java 13以降:

文字列html = "" "


こんにちは、Javaテクノロジースタック


注意を払い、より多くの乾物を共有することを歓迎します




"" ";
不要な改行とスプライシングを削除するのはクールではありませんか?この詳細なチュートリアルは、別の改行を公開し、公開番号のJavaテクノロジスタックに初めてプッシュすることに注意する予定です。

379:Shenandoah:低休止時間のガベージコレクター
Shenandoah:低休止時間のガベージコレクター。

Shenandoahは最初にJDK 12に統合されました。JDK15は、Shenandoahガベージコレクターをプレビュー機能から正式な機能に変更しただけでした。

381:SolarisおよびSPARCポートの
削除削除されたSolarisおよびSPARCポート。

ソースコードを削除し、Solaris / SPARC、Solaris / x64、およびLinux / SPARCポートのサポートを構築しました。これらのポートはJDK 14で非推奨としてマークされており、JDK 15が削除されたのは当然のことです。

383:外部メモリアクセスAPI(セカンドインキュベーター)
外部メモリアクセスAPI(セカンダリインキュベーション)。これにより、Javaアプリケーションは、Javaヒープ外の外部メモリに安全かつ効果的にアクセスできます。

これは、JDK 14で最初にインキュベーション機能になりました。JDK15は、APIの更新により、2度目のインキュベーションを続けました。

384:レコード(2番目のプレビュー)
レコードはJDK 14で最初にプレビュー機能になり、JDK 15は2回目のプレビューを継続します。

レコードは、状況によってはLombokの存在を取り除き、クラスコンストラクター、toString()、hashCode()、equals()、およびゲッターなどの変数アクセスメソッドを自動的に生成できます。

使い方:

公開レコードStudent(String name、int id、int age){}
実際に生成されたもの:

それを読んだ後、それは少しロンボクを感じますか?詳細については、ここをクリックして、スタック長別に記述された詳細なチュートリアルをご覧ください。

385:削除のためのRMIアクティベーションを非推奨
にすると、将来削除できるようにRMIアクティベーションが廃止されます。

RMIアクティベーションはRMIの廃止されたコンポーネントであり、Java 8以降オプションであることに注意してください。

まとめ
この記事では、主にJDK / Java 15の14の新機能を紹介します。スタックは、時間があるときに引き続き詳細なJDK 15チュートリアルを公開し、公開番号のJavaテクノロジースタックに初めてプッシュすることに注目します。過去のJava 8-14の新機能のチュートリアルを見たい場合は、公式アカウントメニューでも読むことができます。

最後に、Oracle Javaサポートロードマップをご覧ください。

JDK 15は長期サポートバージョンではなく、2021年3月までの6か月のみをサポートします。最後の長期サポートバージョンはJDK 11であるため、本番環境では非長期サポートバージョンを使用しないでください。
1 Longhua Avenue http://www.kinghill.cn/LongHuaDaDao1Hao/index.html

おすすめ

転載: blog.csdn.net/weixin_45032957/article/details/108636383