プログラム

Javaとは

Java(ジャバ)

Javaとは、1995年にサン・マイクロシステムズ(Sun Microsystems)が開発したプログラミング言語です。サン・マイクロシステムズは2010年にオラクル(Oracle)に買収されているため、現在はオラクルがJavaを提供しています。

Javaはプラットフォームに依存しない言語であり「Write once, run anywhere」(一度プログラムを書けば、どのコンピュータでも動く)をコンセプトに登場した言語です。

Javaの歴史

1995年にJavaベータ版が公開

Javaの歴史は、1990年にサン・マイクロシステムズが家電製品に組み込まれているコンピュータ向けのプログラミング言語を開発するためにプロジェクト(グリーンプロジェクト)を立ち上げたことから始まります。

そして1991年にJavaの前身となる「Oak(オーク)」と呼ばれるプログラミング言語が誕生、その後1994年に「Java」という名称に変更し、1995年にJavaのベータ版が外部公開されています。

2010年にオラクルがサン・マイクロシステムズを買収

2010年にオラクルがサン・マイクロシステムズを買収、この買収によりJavaの権利はオラクルに移行しています。

スポンサーリンク

今なお進化を続けるJava

JavaはWebアプリケーション開発などで人気の言語であり、全世界でおよそ900万人(※2019年の時点のデータ)の開発者がいると言われています。

システム開発の現場でも「Java」の案件は多く、人気のプログラミング言語です。

(※2022年6月時点)

1996年に最初のバージョン(JDK 1.0)が登場してからも進化を続け 2022年6月時点の最新バージョンは2022年3月にリリースされたJava 18(Java SE 18)であり、今なお進化を続けています。

Javaの特徴

オブジェクト指向言語

Javaはオブジェクト指向言語です。

従来のプログラミング言語は、処理を一から記述していかなければならず、複雑なプログラムになるほど、作り上げるのが大変手間でした。

オブジェクト指向言語は、関連するデータや処理をまとめた「クラス」という部品を作っておき、その部品を自由に組み合わせ、必要であれば再利用することで効率よくプログラムを組むことができます。

このように機能を部品化し、部品を組み合わせてプログラムを完成させる考え方のことを「オブジェクト指向」といい、オブジェクト指向の3大要素には「カプセル化」「継承」「多態性(ポリモーフィズム)」があります。

プラットフォームに依存しない(Java VM)

Javaはサン・マイクロシステムズが「Write once, run anywhere」(一度プログラムを書けば、どのコンピュータでも動く)をコンセプトにして開発した言語のため、プラットフォーム(Windows、macOS、Linuxなど)に依存せず、どのプラットフォーム上でも動かすことができます。

Javaプログラムは、Java VM(Java仮想マシン)という環境の上で動作します。VMとはVirtual Machineの略で仮想マシンという意味です。

次の図は、Java VM(Java仮想マシン)のイメージ例です。

Java vm

Javaのコンパイラは、Javaバイトコード(Javaのクラスファイル)というJava VMで実行可能な形式に変換(コンパイル)します。

そして Java VMは、各プラットフォームの差異を吸収するクッション的なソフトウェアであり、Javaバイトコードを各プラットフォームで動作するように実行します。

つまり、Java VM上で動作するJavaプログラムは、Java VMが動作する環境であれば、プラットフォームに依存せず、どのプラットフォーム上でも動かすことができます。

ガベージコレクション

Javaプログラムのメモリ管理は、Java VM(Java仮想マシン)のガベージコレクションによって行われます。

ガベージコレクションとは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放し、空き領域として再利用できるようにすることです。

不要となりどこからも参照されていないインスタンスを自動的に特定して破棄し、その占有メモリ領域を自動的に解放します。