Java 9 モジュールは、特定の機能を提供するパッケージのコレクションとして導入される新しいエンティティです。 Java 9 モジュールは、パッケージをモジュールに再配置して分類した後の Java 開発キットの最初のリリースです。これは、Java 9 プラットフォーム モジュール システム (JPMS) としても知られています。 Java 9 では、必要なモジュールのみを含めることでランタイムのサイズを削減できます。たとえば、GUI をサポートしていないデバイスの場合は、GUI モジュールを含めずにランタイムを作成できます。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
コード:
module eg.com.module1 { }
コード:
module eg.com.module1 { exports eg.com.module1.service; }
コード:
{ requires eg.com.module1; }
コード:
module com.educba.util { exports com.educba.app; exports com.educba.security to com.educba.client, com.educba.producer; }
コード;
open module <em>modulename</em> { // module directives }
src\com.educba\com\educba
mkdir –r src\com.educba\com\educba
module com.educba { }
For example, JAVA_HOME C:\Program Files\Java\jdk-9\bin
Add %JAVA_HOME% to PATH in control Panel->system->advanced system setting->environment variables.
Code:
>javap mods/com.educba/module-info.class
Output:
It shows requires java.base in the modules definition, though we had created an empty module. It is because java.base is the basic and independent module. All other modules depend on it.
The most obvious difference between JDK 8 and JDK 9.
Feature | Java 8 | Java 9 |
Top Level component | Package | Module |
New features launched | ● Lambda Expressions
● Stream API ● Date API |
● Java Module System (Jigsaw Project)
● Java REPL ● Milling Project Coin |
Performance | Compromised performance due to big size of jdk | Improved performance |
Testing and maintaining applications | Difficult with large size of JRE | Easy with REPL and reduced size depending on modules included. JShell or REPL: Read and evaluate Print Loop for easy execution and testing of Java Constructs like class, interface, enum, object, and statements easily. |
Security | It is compromised because of no encapsulation. Internal APIs can be accessed easily by users and potential hackers. Reflection could be used to learn about private members too. | String security as Reflection does not provide access to private members. Only those exposed by export keywords are available through reflection. |
Packaging format | JAR | JMOD can include native code and configuration files. |
Java 9 は、分散アーキテクチャの新しいコーディング技術と互換性を持たせるために Java コードを再構築するために最も求められているものです。必要なモジュールを含めることを選択できるため、実行可能ファイルのサイズが削減され、パフォーマンスが向上します。強力なカプセル化により、潜在的なハッカーが利用できるクラスが少なくなり、より高いセキュリティが可能になりました。モジュール性により、依存関係の宣言と決定に透明性が提供されます。
答え: 従来のアプリケーションを Java 9 でコンパイルできます。コンパイル時に、Java 9 のモジュール構造にないコード部分でエラーが発生します。ここで、ある程度の費用が必要になります。必要なモジュールを含める時間です。 Jshell を使用して、必要な出力を得るために新しいコードをテストできます。
答え: java –list-modules を使用してモジュールをリスト表示できます。それらの機能についての知識を得るには、ドキュメントを参照する必要があります。
答え: いいえ。コマンド ライン インターフェイスにどれだけ慣れているかによって異なります。 IDE は、ユーザーには知られていない多くのジョブをバックエンドで実行します。 CLI は、問題を特定して解決するための最良のオプションです。
回答: パブリック パッケージ info.java および required_package_name にアクセスするには、モジュールのモジュール定義に次の内容を追加する必要があります。
以上がJava 9 モジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。