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

Java 9のJLinkとは?カスタムJREを作成する目的と使い方を徹底解説

JLinkの主な目的:独自のカスタムJREを作成する

Java 9で導入されたJLink機能の最大の目的は、カスタマイズされたJRE(Customized JRE)を自ら作成できる点にあります。通常、私たちはOracle社が提供するデフォルトのJRE(サイズ約214MB)を使ってプログラムを実行しています。

しかし、本当にその大きなJREが必要なのでしょうか。例として、次のようなシンプルな「Hello World」プログラムを見てみましょう。

public class HelloWorldModuleTest {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

このわずか1KB程度のプログラムを実行するために必要なのは、StringSystemObject、そしてHelloWorldModuleTest.classといった4〜5個のクラスだけです。それにもかかわらず、214MBものJRE全体を読み込むのは明らかに無駄が多く、メモリリソースの非効率な使用につながります。

IoTデバイスにとってJREの軽量化は不可欠

特にIoTデバイスのような小型デバイスでは、数百MB規模のメモリを確保することが困難です。このような環境では、必要最小限のモジュールだけで構成された軽量なJREが強く求められます。

JLinkを使用すれば、以下のコマンドで自分専用のカスタムJREを簡単に生成できます。

jlink --module-path out --add-modules {追加するモジュール} --output {JRE名}

JLinkの主な特徴

JLinkは、Javaプラットフォームモジュールシステム(JPMS)を基盤として実装された強力な機能であり、JREのサイズを大幅に削減できます。主な特徴は以下の通りです。

  • 圧縮(Compress)機能: JLinkコマンド実行時に圧縮レベル(compress level)を指定することで、生成されるJREをさらに小さくできます。
  • ランチャー(Launcher)機能: コマンドプロンプトからプログラム名を呼び出すだけで、マシン上のどこからでもプログラムを実行可能になります。javajavacコマンドを明示的に指定する必要がありません。

このようにJLinkを活用することで、配布やデプロイが容易になり、リソースが限られた環境でも効率的にJavaアプリケーションを動作させることができます。

  1. JavaにおけるOverlayLayoutの重要性とは?基本から使い方まで解説

    OverlayLayoutとは OverlayLayoutはObjectクラスのサブクラスとして実装されたレイアウトマネージャーで、複数のコンポーネントを互いに重ねて配置できるのが最大の特徴です。各コンポーネントに指定されたアライメント(整列設定)に基づいて、相対的な位置が決定されます。 コンポーネントごとに異なるサイズを設定すると、すべてのコンポーネントが重なり合った状態で表示され、それぞれを確認できます。 コンポーネントを他のコンポーネントの上やフレーム内の任意の位置に整列させるには、setAlignmentX()メソッドとsetAlignmentY()メソッドを使用します。引数には0

  2. JREとJDKの違いは何?Java開発初心者向けにわかりやすく解説

    Javaを学び始めると、必ず耳にするのが「JDK」と「JRE」という2つの用語です。名前が似ているため混同されやすいのですが、それぞれ役割や含まれる機能が異なります。この記事では、両者の違いを初心者にもわかりやすく解説します。 JDK(Java Development Kit)とは JDKは「Java Development Kit」の略で、Javaアプリケーションの開発と実行に必要なすべてのツールおよびライブラリをまとめたソフトウェアパッケージです。 JDKには以下のようなものが含まれています。 コンパイラ(javac):ソースコード(.javaファイル)をバイトコード(.classファイ