用語集
Javaに関する用語
- JavaTM
1995年に米Sun Microsystems社から発表されたオブジェクト指向言語。
Javaアプリケーションはプラットフォーム非依存の、バイトコードと呼ばれる中間言語の形で配布され、JVMの上で解釈、実行される。したがって適切なJVMが実装されている環境であれば、機器を問わずに同じJavaアプリケーションを動作させることができる。 - Javaアプリケーション
Javaで記述されたアプリケーション。バイトコードと呼ばれる中間言語の形で配布され、JVMの上で解釈、実行される。
下のような名前で呼ばれることもある。
・MIDP仕様のJavaアプリケーション……MIDlet
・DoJa(NTT DoCoMo Java API)仕様のJavaアプリケーション……iアプリ
・KDDI ezplus(KDDI Profile)仕様のJavaアプリケーション……EZアプリ(JavaTM) - JVM(Java Virtual Machine)
バイトコードを実行するプログラム。「仮想マシン」「VM」「バーチャルマシン」などとも呼ばれる。
- KVM(K Virtual Machine)
CLDC仕様を実現するVirtual Machine(仮想マシン)の1つ。J2ME用に米Sun Microsystems社が実装した。Kはバイトサイズの単位を表す「キロ」を意味する。J2SE用のJVMと比べてサイズが小さく、リソースの消費が少ない。
- クラスライブラリ
再利用可能なプログラム部品群。クラスライブラリとJVMの組み合わせで、各ハードウェアに適したJava実行環境が構築される。
- Java API(Application Programming
Interface)
Javaが提供する、基本的な機能へのインタフェース(接続仕様)。
- TCK(Technology Compatibility Kit)
テクノロジ互換性キット。実装が仕様に準拠しているかどうかを確認するために米Sun Microsystems社などから提供されるテストプログラム集およびツール類。
- JCP(Java Community Process[SM])
Javaのユーザーによって構成される、Javaの標準化を行う組織、またはその標準化のプロセス。Java仕様の策定、リファレンス実装やTCKの開発などを行う。
- JSR(Java Specification Request)
Javaの新しい仕様または仕様改定の提案。JSRはJCPのメンバーから提出されたあと、仕様の策定、JCPのメンバーによるレビューやExecutive Committeeの承認、インターネットへの公開などのプロセスを経て、Javaの標準仕様として策定される。
- Executive Committee
JCP内においてJava標準化のプロセスを監督・指導する組織。JCPのメンバーから選挙によって選出される。
- コンフィグレーション(Configuration)
JVM自体の動作を規定する仕様の1つ。基本部分はJVMと核となるJava APIからなり、使用される分野や機器ごとのデバイスを定義した「プロファイル」と呼ばれるクラスライブラリをそれに付加する。
- プロファイル(Profile)
コンフィグレーションに追加するクラスライブラリのセット。使用する分野や用途に応じたプロファイルがJCPを通じて規定されている。
※DoJa(NTT DoCoMo Java API)など、JCP以外の組織が規定しているプロファイル("独自プロファイル"などと呼ばれている)も、JBlend.comではプロファイルとして説明しています。
- エクステンション(Extension)
「拡張プロファイル」とも呼ぶ。プロファイルを拡張するためのクラスライブラリのセット。
※JCPを通じて仕様が規定されるオプショナルパッケージに対し、JCP以外の組織が独自に仕様を規定しているものをJBlend.comでは「エクステンション」と呼んでいます。またオプショナルパッケージはプロファイルを必要としない場合もありますが、エクステンションにはプロファイルは必須です。
- オプショナルパッケージ(Optional Package)
JCPを通じて規定されているクラスライブラリのセットで、コンフィグレーションやプロファイルの機能を拡張したり、機能を追加したりする。
- Java EE(Java Platform, Enterprise Edition)
エンタープライズアプリケーション(クライアントにサービスを提供するサーバソフトウェア)を開発するための環境。
- Java SE(Java Platform, Standard Edition)
デスクトップコンピューティング環境上で動作するJavaアプリケーション開発を行うための環境。
- Java ME(Java Platform, Micro Edition)
携帯情報端末や携帯電話機など、プロセッサ性能やメモリ容量が大きく制限される小型機器向けのJavaアプリケーションを開発するための環境。「CDC」と「CLDC」という2つのコンフィグレーションがある。
- CLDC(Connected, Limited Device Configuration)
携帯電話やPDAなどの小型機器向けのコンフィグレーション。ハードウェアやソフトウェアの必要条件が定められている。
- CDC(Connected Device Configuration)
CLDCが対象としている機器よりリソースに余裕のある機器(カーナビゲーションシステム、セットトップボックスなど)に対応したコンフィグレーション。
- MIDP(Mobile Information Device Profile)
Java MEのプロファイルの1つ。携帯電話などの小型機器向けの仕様。
- アプリケーション管理ソフトウェア
MIDP 2.0仕様で規定されているAMS(Application Management Software)、MIDP 1.0仕様で規定されているJAM(Java Application Manager)などを指す。
以下のような機能を担当しているプログラムで、MIDP仕様に準拠したJava実行環境には必須。
・通信環境などからのJavaアプリケーションのダウンロード
・Javaアプリケーションの機器へのインストール、アップデートおよび削除
・Javaアプリケーションの起動・終了および一時停止・再開 - Javaヒープ
JVMによって管理されるメモリ領域。Javaアプリケーションが使用する。
- Javaアクセラレータ
JVMで処理されているバイトコードをコプロセッサ(CPUと協調して動作し、CPUの機能を強化するプロセッサ)などのハードウェアによって実行することにより、Java実行環境を高速化する技術。
※JBlend.comでは「ハードウェアアクセラレータ」「アクセラレータ」とだけ表記している場合もあります。
- JPDA(Java Platform Debugger Architecture)
米Sun Microsystems社が規定した、デスクトップPC上でデバッガを使用するためのアーキテクチャ。
- WMA(Wireless Messaging API)
メッセージング通信を行うための仕様。
- MMAPI(Mobile Medlia API)
オーディオ、ビデオ、その他のマルチメディア機能をサポートする仕様。
- PersonalJavaTM
JDK 1.1ベースの組み込み向けJava。Java APIはJDK 1.1のサブセット(機能縮小版)で、家庭用セットトップボックス、PDAなどを対象に設計されている。
- EmbeddedJavaTM
JDK 1.1ベースの組み込み向けJava。Java APIはPersonalJavaのサブセット(機能縮小版)で、PersonalJavaが対象としている機器よりもさらに少ないメモリや低速なCPUを搭載した機器向けに設計されている。
- JDK(Java Development Kit)/SDK(Software
Development Kit)
Java開発環境。1998年12月のJDK1.2より「Java 2 SDK(Software Development Kit)」と呼ばれるようになり、市場別にJ2EE、J2SE、J2MEの3つに分けられた。
- JNI(J Native interface)
JDK 1.1、Java 2 SDKでサポートされているネイティブメソッドインタフェース。ただし J2ME CLDCでは、「KNI」と呼ばれるネイティブメソッドインタフェースを利用する。
- KNI(K Native Interface)
CLDC用のネイティブメソッドインタフェース。CLDC 1.0.4から仕様が策定された。
- ネイティブメソッドインタフェース
Javaアプリケーションからネイティブメソッドを通じて、ネイティブコードを呼び出す仕組み。
- ネイティブメソッド
C言語などで実装されたJavaメソッドで、Javaアプリケーションから呼び出すことができる。これによりハードウェアに依存した処理や、速度が要求される処理を実現する。
- OTA(Over-The-Air Provisioning)
無線通信環境を通じてJavaアプリケーションを配布する手続きのこと(またはそれを定めた仕様)。
- HotSpotテクノロジー
Javaバイトコードをネィティブコードにコンパイルして実行する機能や、世代別ガーベジコレクションを行う機能などを含む、米国Sun Microsystems社のJava高速化テクノロジー。

