こんにちは! 文系SEの焼き芋です!
プログラミングを勉強しようと思っているが
「Javaって何?」というお悩みを抱えていませんか?
「Java」とは、様々な技術から成り立つ大きな概念を表します。
また、以下の特徴があるプログラミング言語です。
- 業務系システムの利用が多い
- Webアプリケーションで使わる
- 大規模システムに向いている
- C言語に似ている
- オブジェクト指向言語
- 動作環境はOSやコンピューターの種類に依存せずに動く
それでは、今回は「Java」について詳しく解説します。

この記事はこんな人におすすめです!
・プログラミング未経験者
・駆け出しプログラマー
この記事で解決できるお悩み
- 「Java」って何?
- 「Java」の全体像(「JRE」・「JDK」・「JVM」の関係性)
- 「Java」の「エディション(Java SE、Java EE、Java ME)」
ITエンジニアが学ぶべきことは、
プログラミン言語以外の技術も必要です。
IT未経験の文系が把握すべき7つのIT基礎はこちらで解説してます。
Javaって何?
まずは「Java」に関する以下の点で説明します。
- Javaの成り立ち
- OSS(Open Source Software)
- 動作環境はコンピュータ・OSに依存しない
Javaの成り立ち
Javaは、1995年にSum・Microsystems(現在はOracleが買収)が開発したプログラミング言語です。
当時はC言語などが主流で、「Java」はマイナー言語でした。
2度の大幅な改良で、文法の拡張やAPI追加がされました。
そのおかげで、より利用しやすいプログラミング言語になりました。
OSS(Open Source Software)のため無償
現在の開発や仕様作成には、多くの企業、コミュニティ、個人開発者が関わってます。
OSS(Open Source Software)のため無償です。


動作環境はOS・コンピューター種類に依存しない
作成したJavaプログラムは、
Java仮想マシン(Java Virtual Machine:JVM)という実行環境を利用します。
コンピュータ・OSの種類ごとの環境に依存しません。
作成したプログラムはどの環境でも動かすことができます。
JVMは、コンピュータのOSごとに用意されてます。
Windows用、Linux用、Mac OS X用ごとにあります。
JVMがOSごとの違いを吸収してくれます。
「Java」の全体像(「JRE」・「JDK」・「JVM」の関係性)
Javaと聞くと何を思い浮かべますか?
・アプリケーションを作るためのプログラミング言語
・Javaで作られたアプリケーション
以下のイメージのように、
Javaでは様々な技術から成り立つ大きな概念を表します。
各用語の意味を見ていきましょう。


JDK(Java Development Kit)とは
Javaのプログラムを開発するのに必要なものが一通り含まれた開発キットです。
JDKにはコンパイラなどJavaで開発する上で必要最低限の機能が含まれています。
コマンドライン環境で使うJavacというコンパイラを中心にした環境です。
現在はIDEを使って開発するのが一般的です。
IDEでは「Eclipse」が主流です。
JRE(Java Runtime Environment)
Javaのプログラムを実行するためのソフトです。
JVM(Java virtual machine)
どのOSでもJavaのプログラムが実行できる仮想マシンです。
API(Application Programming Interface )
Java の機能やデータなどを利用するための呼び出し方を定義したもの
Javaのエディション
Javaプログラミングする上で必要なJDKには以下3種類のエディションが配布されています。
それぞれ、解説します。
- Java SE(Java Standard Edition)
- Java EE(Java Enterprise Edition)
- Java ME(Java Micro Edition)
Java SE(Java Standard Edition)
パソコン、スマートフォン向けのデスクトップアプリケーションを開発する場合で
最低限なAPIが含まれています。
例えば java.lang.String クラスなどが含まれます。
Java SE は定期的にバージョンアップされています。 どのバージョンの Java SE なのかが分かるようにバージョンを表す番号を合わせて記述します。例えば Java SE 8 とか Java SE 13 とかです。
Java EE(Java Enterprise Edition)
大規模なサーバー上で動くアプリケーションを開発をする場合で
必要となるAPIが含まれています。
Java ME(Java Micro Edition)
家電などの組込み機器やモバイルデバイスの開発に
必要となるAPIが含まれています。
まとめ「Javaとは、様々な技術から成り立つ大きな概念」
今回の記事で「Java」の
・「Java」の成り立ち、特徴
・「Java」の全体像(「JRE」・「JDK」・「JVM」の関係性)
・「Java」の「エディション(Java SE、Java EE、Java ME)」
について解説しました。
今回のポイントをまとめますと、次の通りです。
- 「Java」とは、様々な技術から成り立つ大きな概念
- 「Java」はOSS(Open Source Software)
- 動作環境はコンピュータ・OSに依存しない
- 「エディション(Java SE、Java EE、Java ME)」ごとに用途が違う
「Java」とは何か分かったのではないでしょうか?



私は初めのころプログラミング時に、
Javaの全体像について意識することはありませんでした。
ただ、お客様からJavaSEのバージョン更新依頼があると、
Javaの全体像を知らないと対処やお客様に説明ができません。
知っておいて損はないですよ。
以上、最後まで読んで頂きありがとうございました!