Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java9のProjectJigsawとは何ですか?


ジグソーの主な目的 プロジェクト モジュール性を導入することです Java 9でモジュールを作成し、それを JDKに適用するという概念 。

以下はモジュール性の利点の一部です (ジグソー

  • 強力なカプセル化: モジュールは、使用可能なパーツにのみアクセスできます。パッケージが明示的にmodule-info.javaにエクスポートされない限り ファイル、パッケージ内のパブリッククラスをパブリックにすることはできません。
  • 明確な依存関係: モジュールは、他のモジュールについて、それらが必須の句を介して使用されていることを宣言する必要があります。モジュールを組み合わせて、比較的小さなコンピューティングデバイスに簡単に拡張できる短いランタイムを作成します。
  • 信頼性: 実行時エラーの除去後 、アプリケーションの信頼性が高まります。たとえば、 ClassNotFoundException が発生するクラスが欠落しているため、実行時にアプリケーションが失敗することに注意する必要があります。 。


以下はさまざまなJEPです。 (JDK拡張提案)ジグソーの一部になる プロジェクト

JEP 200 モジュラーJDK: Javaプラットフォームモジュールシステム( JPMS )を利用します )JDKを、ビルド時、コンパイル時、または実行時に結合されたモジュールのセットにモジュール化するため。

JEP 201 モジュラーソースコード :JDKのソースコードをモジュールにモジュール化し、構築されたツールをアップグレードしてモジュールをコンパイルします。

JEP 220 モジュラーランタイムイメージセキュリティを改善するためのモジュールに対応するために、JREおよびJDKランタイムイメージを再構築するのに役立ちます 、パフォーマンス 、および保守性

JEP 260 –ほとんどの内部APIをカプセル化します: これにより、内部APIの大部分に直接アクセスするかリフレクションを介してアクセスできます。変更が必要な内部APIにアクセスするのは非常に危険です。これの使用を防ぐために、モジュールに圧縮されます そして、それらの内部APIのみが使用可能です。

JEP 261 –モジュールシステム: JVM、Javaプログラミング言語、およびその他の標準APIを変更することにより、モジュールシステムのJava仕様を実装する責任があります。

JEP 282-JavaリンカーであるJlink: モジュールとその依存関係をより小さなランタイムにパックすることができます。


  1. JavaのStringIndexOutOfBoundsExceptionとは何ですか?

    文字列は、Javaで文字のシーケンスを格納するために使用され、オブジェクトとして扱われます。 java.langパッケージのStringクラスは、文字列を表します。 文字列は、(他のオブジェクトのように)新しいキーワードを使用するか、(他のプリミティブデータ型のように)リテラルに値を割り当てることによって作成できます。 String stringObject = new String("Hello how are you"); String stringLiteral = "Welcome to Tutorialspoint"; 文字列には文字の配列

  2. JavaのArrayIndexOutOfBoundsExceptionとは何ですか?

    配列はデータ構造/コンテナ/オブジェクトです 同じタイプの要素の固定サイズの順次コレクションを格納します。配列のサイズ/長さは作成時に決定されます。 配列内の要素の位置は、インデックスまたは添え字と呼ばれます。配列の最初の要素はインデックス0に格納され、2番目の要素はインデックス1に格納されます。 配列内の各要素には、配列の名前とそれに続く角かっこで囲まれた必要な要素のインデックスを含む式を使用してアクセスします。 System.out.println(myArray[3]); //prints 1457 一般に、配列は固定サイズであり、各要素はインデックスを使用してアクセスされま