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程度のプログラムを実行するために必要なのは、String、System、Object、そして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)機能: コマンドプロンプトからプログラム名を呼び出すだけで、マシン上のどこからでもプログラムを実行可能になります。javaやjavacコマンドを明示的に指定する必要がありません。
このようにJLinkを活用することで、配布やデプロイが容易になり、リソースが限られた環境でも効率的にJavaアプリケーションを動作させることができます。
-
JavaにおけるOverlayLayoutの重要性とは?基本から使い方まで解説
OverlayLayoutとは OverlayLayoutはObjectクラスのサブクラスとして実装されたレイアウトマネージャーで、複数のコンポーネントを互いに重ねて配置できるのが最大の特徴です。各コンポーネントに指定されたアライメント(整列設定)に基づいて、相対的な位置が決定されます。 コンポーネントごとに異なるサイズを設定すると、すべてのコンポーネントが重なり合った状態で表示され、それぞれを確認できます。 コンポーネントを他のコンポーネントの上やフレーム内の任意の位置に整列させるには、setAlignmentX()メソッドとsetAlignmentY()メソッドを使用します。引数には0
-
JREとJDKの違いは何?Java開発初心者向けにわかりやすく解説
Javaを学び始めると、必ず耳にするのが「JDK」と「JRE」という2つの用語です。名前が似ているため混同されやすいのですが、それぞれ役割や含まれる機能が異なります。この記事では、両者の違いを初心者にもわかりやすく解説します。 JDK(Java Development Kit)とは JDKは「Java Development Kit」の略で、Javaアプリケーションの開発と実行に必要なすべてのツールおよびライブラリをまとめたソフトウェアパッケージです。 JDKには以下のようなものが含まれています。 コンパイラ(javac):ソースコード(.javaファイル)をバイトコード(.classファイ