コンパクト・プロファイル

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ツールは、プロファイルを明示的にサポートします。

詳細なプロファイル構成

次の表に、各コンパクト・プロファイルに含まれる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    

 


Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.