Connected Limited Device Configuration ( CLDC ) は、 Java MEアプリケーション用のフレームワークの仕様であり、実装に必須となる基本的なライブラリと仮想マシン機能のセットを記述しています。CLDC は 1 つ以上のプロファイルと組み合わされ、開発者にページャーや携帯電話などのリソースが非常に限られた組み込みデバイス上でアプリケーションを構築するためのプラットフォームを提供します。[ 1 ] CLDC は、Java Community Processの下でJSR 30 [ 2 ] (CLDC 1.0) および JSR 139 [ 3 ] (CLDC 1.1)として開発されました。
CLDC は、処理能力、メモリ、グラフィック機能が制限されているデバイス向けに設計されています。デバイスは通常、次の機能を備えています。[ 1 ]
Java SE環境と比較すると、いくつかの API は完全に存在せず、一部の API は変更されているため、CLDC をサポートするにはコードを明示的に変更する必要があります。特に、一部の変更はクラスやインターフェースの欠落だけではなく、基底クラスライブラリ内の既存のクラスのシグネチャを実際に変更しています。その一例としてSerializable、リフレクションの使用に関する制限により基底クラスライブラリに存在しないインターフェースが挙げられます。そのため、java.lang.*通常実装するすべてのクラスは、このタグ付けインターフェースを実装しません。Serializable
その他の制限事項の例は、使用するバージョンによって異なります。CLDC のバージョン 1.1 で一部の機能が再導入されました。[ 4 ]
Serializableインターフェースはサポートされていません。java.lang.reflectパッケージおよびそのクラスはサポートされていません。java.lang.Classコンストラクタ、メソッド、またはフィールドを取得する方法。Object.finalize()方法は含まれていません。プロファイルとは、CLDCフレームワーク内でさまざまな機能とリソースを持つデバイスをサポートし、完全なJavaアプリケーション環境を提供する一連のAPIです。自動販売機からセットトップボックスまで、さまざまなデバイスに対応する特定のプロファイルがあり、携帯電話プロファイルMIDPが最も普及しています。[ 5 ]
モバイル情報デバイスプロファイルは、携帯電話向けに設計されたプロファイルです。MIDPには、JSR 37 [ 6 ] [ 7 ] (MIDP 1.0) と JSR 118 [ 8 ] [ 9 ] (MIDP 2.0) の2つのバージョンがあります。どちらのバージョンもLCD指向のGUI APIを提供し、MIDP 2.0には基本的な2DゲームAPIが含まれています。このプロファイルを使用するように作成されたアプリケーションはMIDletと呼ばれます。多くの携帯電話にはMIDPの実装が搭載されており、ダウンロード可能な携帯電話ゲームのプラットフォームとして人気があります。[ 10 ]
情報モジュールプロファイルはJSR 195 [ 11 ]で規定されており、ディスプレイがシンプルまたはまったくない、何らかの限定的な双方向ネットワークアクセスを備えた自動販売機、ネットワークカード、ルーター、電話ボックス、その他のシステム向けに設計されています。アプリケーションの作成、保存、ネットワークアクセス用の API のみが定義されています。これらは MIDP の javax.microedition.io、rms、midlet パッケージのサブセットです。この仕様は、シーメンスモバイルとノキアがJCP に提出しました。
JSR 242 [ 12 ]で規定されているデジタルセット トップ ボックスプロファイルは、ケーブル市場向けに設計されています。OnRamp とも呼ばれるこのプロファイルは、セット トップ ボックスや類似のデバイス向けアプリケーション開発用の API セットを定義するOpenCable Application Platform ( OCAP )のサブセットに基づいています。このプロファイルは、 AWT、Xlet 、ファイル アクセス、ネットワーク APIのサポート、および OCAP のいくつかのメディア関連インターフェースを含む、 CDC Personal Basis Profileのサブセットで構成されています。プロファイル全体は 31 個の Java パッケージと約 1500 個の API で構成されています。[ 5 ]
PDAオプションパッケージはJSR-75 [ 13 ]で規定されており、 PalmやWindows CEデバイスなどのPDA向けに設計されています。この仕様では、多くのPDAやその他のモバイルデバイスに搭載されている重要な機能を表す2つの独立したパッケージが定義されています。これらのパッケージは以下のとおりです。