DoJaプロファイル
DoJaはサン・マイクロシステムズ (以下「サン」と略)のJavaプラットフォーム構想において、Java MEにおける、CLDC上の1プロファイルとして位置づけられる。
携帯電話は一般に大画面のディスプレイやマルチウィンドウシステム、マウスなどのポインティングデバイスを持たない上、ハードウェアスペック(CPUスピード、メモリ容量)がデスクトップ・サーバに比べて比較的貧弱であるなど、デスクトップのJava環境と比べて大きな差がある。そのため、DoJaのJava APIもJava SEと比べてかなりの違いがある。
ただ、Java MEのCLDCの仕様は、デスクトップのJava SEのサブセットであるが、マルチスレッド処理を含めて、本当のJavaプログラミングを行うことが可能である。ただし、DoJa 3.5まではCLDC 1.0のため、浮動小数点数処理がない、ファイナライザが動作しないなどの制約があった。
DoJaが動作する携帯電話上においては、ファイルシステムを持たず、データの保存には「スクラッチパッド」と呼ばれる領域を用いる。また、iアプリをダウンロードしたホストとのみ、ネットワーク通信を行うことができる。
FOMA2008年秋冬モデル(X-0XA)のうち、iWdgt(iウィジェット)・iアプリオンライン対応機種については、新たにドコモとサン・マイクロシステムズによって共同開発されたStarプロファイルが定義された。ただし、DoJaとはAPIの互換性がないため、Star環境によって動作させるためには別途移植作業が必要となる。待ち受けiアプリなど、Starでは廃止される機能が存在する(iWdgtにて代替させる)。今後の仕様拡張はStarでのみ行われる予定。端末には当面の間はDoJa実行環境も並行して搭載される予定。
Star プロファイル2.0は、2011年公開
※DoJa 1.0から3.5まではCLDC 1.0である。DoJa 4.0以降はCLDC 1.1であり浮動小数点が使用できる。
DoJaは携帯電話が新しいデバイスを装備することにそれに対応する制御APIとして拡張されてきた。携帯電話自身の性能もハードウェア技術の進歩により、503i登場当初に比べ飛躍的にその実行速度、容量(一回で送受できる通信量や、スクラッチパッドの容量)、画面サイズなどを増やしているため、登場当初と比較してはるかに高機能なアプリケーションを書くことができるようになって来ている。
特に、アプリケーションサイズの制約は当初10KB(Jar圧縮後(FOMAは30KB)、スクラッチパッド10KB)という極めて厳しいものであったが、DoJa 2.0以降は30KB(スクラッチパッド100KB(505i以降及びFOMAは200KB))まで拡張されている。DoJa 3.5以降は100KB(スクラッチパッド400KB)まで拡張された。ただし、DoJa 4.0LEはJARファイルが30KBまで、スクラッチパッドサイズが200KBまでに制限されている。DoJa 5.0ではプログラムとスクラッチパッドの境界がなくなり、あわせて1MBになった。Starプロファイル1.xは合計2MB。Starプロファイル2.xは合計10MB。