1. ホーム
  2. ラーニングセンター
  3. Javaとは?

JavaTMとは?

JavaTM

Javaは1995年にサンマイクロシステムズ社から発表されたオブジェクト指向言語です。
Javaアプリケーションはプラットフォームに依存しない、バイトコードと呼ばれる中間言語の形で配布され、JVMの上で解釈、実行されるので、適切なJVMが実装されている環境であれば、機器を問わずに同じJavaアプリケーションを動作させることができます。

ソースコード、バイナリ、Javaバイトコードの詳細については、以下に説明します。

ソースコード

ソフトウェア開発者は、合理的で理解しやすいように取り決められた命令を利用したソースコードによって、コンピューターに何をどのように処理するのか指示するプログラムを作成します。以下は、開発者が書いたソースコードの一例です。

バイナリ

開発者は、次に、ソースコードを人間に読める形からコンピュータに読める形に変換(コンパイル)します。コンピュータはデジタルな存在で、あらゆるものを0と1で解釈します。つまり、ソースコードをコンパイルするということは、ソースコード(上記参照)を、0と1からなる文字列に変換するということです。

CやC++で書かれたプログラムの基本的なステップは以下のようになります。

このような0と1の羅列は、特定のプロセッサ(例えばPentium)に固有の並び方になっています。さらに、オペレーティングシステム(OS)もまた、OS固有の方法でコンパイルされていることをプログラムに要求します。

したがって、様々なプロセッサやOSがプラットフォームとして利用される携帯電話向けに機器を問わずに利用できるプログラムを開発することは、非常に難しくなります。

プロセッサとOSとのどちらを変更しても、プラットフォームにおけるバイナリの互換性は損なわれ、アプリケーションは実行できなくなってしまいます。

Javaバイトコード

このような携帯電話市場の特異性を前提に入れると、プラットフォーム非依存の言語という考え方は、非常に意味を持ってきます。コンパイルされたコードがプロセッサやOSから独立した形式になるJavaは、この考え方にぴったりです。

Javaで上記のような特徴が実現するのは、コンパイルにより一定のルールに沿った0と1の組み合わせ(バイナリ)が得られるところまでは同じであるものの、得られるバイナリが特定のプロセッサやOSに準拠していないためです。その代わり、得られるコード(Javaバイトコード)は仮想マシン環境に準拠しています。

この仮想マシンは、アプリックスの製品であるJBlendの一要素です。これにより、JBlendは携帯電話上でJavaを動作させることができ、プロセッサーやOSに関わらずJavaバイトコードからなるプログラムがどの携帯電話でも動作します。このことを以下に図示します。

アプリケーションプログラミングインターフェイス(API)

ソフトウェアを開発する際に利用される命令や関数の集合のこと。また、そのような命令や関数を使用する場合の手順を含む。

Javaアプリケーション

Javaで記述されたアプリケーション。バイトコードと呼ばれる中間言語の形で配布され、JVMの上で解釈、実行される。
以下のような名前で呼ばれることもある。

  • MIDP仕様のJavaアプリケーション……MIDlet
  • DoJa(NTT DoCoMo Java API)仕様のJavaアプリケーション……iアプリ
  • VSCL(Vodafone Service Class Library)仕様のJavaアプリケーション……Vアプリ
  • KDDI ezplus(KDDI Profile)仕様のJavaアプリケーション……EZアプリ(Java)
  • Sprint PCS仕様のJavaアプリケーション ……MUGlet