SE 8で導入されたコンパクト・プロファイルは、Java SEプラットフォームAPIのサブセットを定義します。これにより、ストレージ容量が制限されているデバイス上でJavaランタイムの静的サイズを削減できます。
コンパクト・プロファイル(単にプロファイルとも呼ばれる)は、完全なJava SEプラットフォームAPIのサブセットです。プロファイルを使用すると、ストレージのフットプリントが小さくなるため、リソースに制約のあるデバイス上で多くのJavaアプリケーションを実行できます。アプリケーションの機能上のニーズにもっとも適したプロファイルを選択することで、使用していない機能に割り当てられるストレージを最小限にすることができます。
コンパクト・プロファイルはAPIの選択のみを扱うものであり、Java仮想マシン、言語適正、ツールには無関係です。
compact1、compact2およびcompact3という3つのプロファイルがあります。各プロファイルは、それより番号の低いプロファイルのAPIを含んでいます(compact2はcompact1のスーパーセットです)。完全なSE APIはcompact3プロファイルのスーパーセットです。次の表に、それぞれの構成の概要を示します。
完全なSE API | Beans | JNI | JAX-WS |
Preferences | Accessibility | IDL | |
RMI-IIOP | CORBA | 印刷サービス | |
サウンド | Swing | Java 2D | |
AWT | ドラッグ・アンド・ドロップ | インプット・メソッド | |
Image I/O | |||
compact3 | セキュリティ1 | JMX | |
XML JAXP2 | 管理 | インストゥルメンテーション | |
compact2 | JDBC | RMI | XML JAXP |
compact1 | コア(java.lang.* ) |
セキュリティ | 直列化 |
ネットワーク | 参照オブジェクト | 正規表現 | |
日付と時間 | 入出力 | コレクション | |
ロギング | 並行性 | リフレクション | |
JAR | ZIP | バージョン管理 | |
国際化 | JNDI | オーバーライド・メカニズム | |
拡張機能メカニズム | スクリプト |
1. compact1のセキュリティにkerberos、acl、saslを追加します。
2. compact2のXML JAXPに暗号化を追加します。
次のJDK 8ツールは、プロファイルを明示的にサポートします。
-profile
profileオプションは、profileに存在しないAPIが使用されている場合にフラグを付けるよう、コンパイラに指示します。 jdeps
静的依存関係アナライザ[Solaris、Linux、Mac OS XまたはWindows]: -profile
オプションは、パッケージを含んでいるファイルまたはプロファイルを表示します。 次の表に、各コンパクト・プロファイルに含まれるAPIパッケージを示します。プロファイル構成はAPIリファレンスでも定義されています。
compact1 | compact2の追加パッケージ | compact3の追加パッケージ |
---|---|---|
java.io | java.rmi | java.lang.instrument |
java.lang | java.rmi.activation | java.lang.management |
java.lang.annotation | java.rmi.dgc | java.security.acl |
java.lang.invoke | java.rmi.registry | java.util.prefs |
java.lang.ref | java.rmi.server | javax.annotation.processing |
java.lang.reflect | java.sql | javax.lang.model |
java.math | javax.rmi.ssl | javax.lang.model.element |
java.net | javax.sql | javax.lang.model.type |
java.nio | javax.transaction | javax.lang.model.util |
java.nio.channels | javax.transaction.xa | javax.management |
java.nio.channels.spi | javax.xml | javax.management.loading |
java.nio.charset | javax.xml.datatype | javax.management.modelmbean |
java.nio.charset.spi | javax.xml.namespace | javax.management.monitor |
java.nio.file | javax.xml.parsers | javax.management.openmbean |
java.nio.file.attribute | javax.xml.stream | javax.management.relation |
java.nio.file.spi | javax.xml.stream.events | javax.management.remote |
java.security | javax.xml.stream.util | javax.management.remote.rmi |
java.security.cert | javax.xml.transform | javax.management.timer |
java.security.interfaces | javax.xml.transform.dom | javax.naming |
java.security.spec | javax.xml.transform.sax | javax.naming.directory |
java.text | javax.xml.transform.stax | javax.naming.event |
java.text.spi | javax.xml.transform.stream | javax.naming.ldap |
java.time | javax.xml.validation | javax.naming.spi |
java.time.chrono | javax.xml.xpath | javax.security.auth.kerberos |
java.time.format | org.w3c.dom | javax.security.sasl |
java.time.temporal | org.w3c.dom.bootstrap | javax.sql.rowset |
java.time.zone | org.w3c.dom.events | javax.sql.rowset.serial |
java.util | org.w3c.dom.ls | javax.sql.rowset.spi |
java.util.concurrent | org.xml.sax | javax.tools |
java.util.concurrent.atomic | org.xml.sax.ext | javax.xml.crypto |
java.util.concurrent.locks | org.xml.sax.helpers | javax.xml.crypto.dom |
java.util.function | javax.xml.crypto.dsig | |
java.util.jar | javax.xml.crypto.dsig.dom | |
java.util.logging | javax.xml.crypto.dsig.keyinfo | |
java.util.regex | javax.xml.crypto.dsig.spec | |
java.util.spi | org.ietf.jgss | |
java.util.stream | ||
java.util.zip | ||
javax.crypto | ||
javax.crypto.interfaces | ||
javax.crypto.spec | ||
javax.net | ||
javax.net.ssl | ||
javax.script | ||
javax.security.auth | ||
javax.security.auth.callback | ||
javax.security.auth.login | ||
javax.security.auth.spi | ||
javax.security.auth.x500 | ||
javax.security.cert |