7 コンパクト・プロファイルについて
この章では、Oracle Java SE Embeddedプラットフォームでのコンパクト・プロファイルの概念について説明します。
この章の構成は、次のとおりです。
Java SE APIのサブセットのコンパクト・プロファイル
アプリケーションが使用するJava APIパッケージに静的フットプリントを制限することで、埋込みデバイスの領域要件を最小限に抑えることができます。 Java SE APIの完全なセットを含むカスタムJRE、またはプロファイルと呼ばれる3つのサブセットの1つを構築できます。
Compact1プロファイルAPI
Foundation Profileを使用した従来のConnected Device Configuration (CDC)と同様に、セキュア・ソケット・レイヤー(SSL)、ロギングおよびスクリプト言語のサポート(Javascriptを含む)。 最小限のJVMを使用して構成した場合、compact1プロファイルAPIの静的フットプリントは約12MBです。
Compact2プロファイルAPI
これらのパッケージをcompact1に追加します:
-
Remote Method Invocation (RMI、JSR 66) )
-
Java API for XML処理 (JAXP、JSR 280)
-
Javaデータベース接続 (JDBC、JSR 169)
最小限のJVMで構成すると、compact2プロファイルAPIの静的フットプリントは約17MBになります。
Compact3プロファイルAPI
compact2プロファイルは、保守性、ネーミング、コンパイラAPIおよびその他のセキュリティを追加します。
保守性の詳細は、http://openjdk.java.net/groups/hotspot/docs/Serviceability.html
を参照してください
compact3プロファイルは、最小限のJVMで構成できないことに注意してください。
完全なJRE API
完全なJREでは、デスクトップ、webサービスおよびCORBA APIが追加されます。 また、Java Flight Recorderの(JFR)コマンドライン・オプションもサポートしています。
完全なJRE APIにはすべてのJava SEクラスが含まれますが、省スペースの最適化により、完全なOracle Java SE Embedded JREがJava SE JREより大幅に小さくなります。 クライアントJVMを使用して構成すると、完全なJRE APIの静的フットプリントは約50MBになります。
ノート:
ヘッドレス構成の場合、完全なJRE APIには、java.awt
クラスとjava.swing
クラスが含まれます。 これらのクラスは、メモリー内のビットマップを印刷および描画するために用意されています。 このモードでGUIウィンドウを作成しようとすると、HeadlessException
が呼び出されます。
「Swing/AWTヘッドフル・アプリケーション用のJREの構成」は、AWT/Swingをサポートする構成を示します。
APIオブジェクトのコンパクト・プロファイルの決定
「Java SE APIのドキュメント」は、各APIオブジェクトが属するコンパクト・プロファイルを示します。 たとえば、「図7-1」は、javax.sql
パッケージが3つのコンパクト・プロファイルすべてに属していることを示すAPIドキュメント・ページのスクリーンショットです。