【JavaのJREって何?】JDKとの違いまで説明します!
Javaのプログラムを実行する際に必要となるJREですが、どういった物なのか皆さんは説明できますか?「JREって何?」「JREとJDKの違いがわからない。」という方もいらっしゃるのではないでしょうか。この記事では初めて聞いたという方にもわかりやすく説明をしていきます。
Javaとは
本格的にJREについて説明していく前に、Javaについておさらいしておきます。
JavaとはOracle社が提供しているプログラミング言語の一つです。プログラミング言語は動作環境が限られることが多い中、Javaは1度プログラムを書いてしまえばどんなOSでも実行できる という特徴があります。アプリケーションやIoTなど大規模な開発にむいており、日本だけでなく世界中で最も人気のある言語です。
JREとは
JREとは「Java Runtime Environment」の略称で、Java実行環境やJavaランタイムと呼ばれることもあります。簡単に言うとJavaを使用して作成されたアプリケーションを動かすために必要なソフトウェア群の総称のことです。
JREはJVMとAPIで成り立っています。
・JVM(Java Virtual Machine)
Java仮想マシンと呼ばれることもあります。Javaで作成したプログラムをJVMを通すことでJVMがCPUやメモリとやり取りをしてくれる ので、Javaの特徴でもあるプログラムをどこでも実行できることが実現されるのです。開発者としてはOSなどを意識しなくても済むので効率的に開発を進めることができます。
・API(Application Programming Interface)
APIは端的にいうとプログラミングをする時の他のソフトとの接点という意味として捉えられます。クラスライブラリのことを指し、Javaの機能やデータなどを利用するための呼び出し方を定義したもの です。意味合い通り接点となりOSの違いを吸収してくれるので、OS毎にプログラムを分けなくても良くなります。
JREの種類
もう少し深堀するとJREには「Public JRE」と「Private JRE」の2つの種類が存在します。補足として頭の片隅に入れておいてください。
Public JRE
公開されているいわゆる一般的なJREのことを指します。こちらに関しては、複数のアプリケーションの実行でJREを共有する構成だと一部のアプリケーションの都合でバージョンアップができないなどの弊害があるとのことで、Java11より廃止となり入手出来なくなりました。
Private JRE
JDKをインストールするとついてくるJDK専用の非公開のJREのことを指します。
JDKとの違い
JREに対してJDKとは「Java Development Kit」の略称で、Java開発キットと呼ばれることもあります。Javaでプログラムを開発する際に必要なコンパイラやデバッグといったツールをまとめたパッケージのことです。
2つの違いについて端的に言うと…
・JREはプログラムを動かす 時に必要
・JDKはプログラムを作る 時に必要 となります。
JDKの中にはJREも含まれている ため、JDKさえ準備すればJavaを使用しプログラムを開発することが可能となるのです。
開発環境を整えるには
これからJavaを学習したいと考えている方も多いはずです。JDKを利用しても問題は無いですがより簡単に実行環境を整えることができるEclipse の存在をご存じでしょうか。
Eclipseは開発を効率化するための統合環境開発です。コンパイラやデバッグなどの機能がセットになったツールで、IDE(Integrated Development Environmen)と呼ばれることもあります。Eclipseは特に人気のある代表的なIDEの一つです。
特徴としては…
・開発者の負担を軽減できEclipseさえインストールしてしまえばすぐにJavaの開発が行える
・Javaだけで無くC言語やPHPの開発も行えるので他言語を学習する際に環境を変える必要がない
・プラグインも豊富に用意してあるため自分好みにカスタマイズできる
・プログラム編集の際に構文エラーの表示やインポート文を追加するといった設定ができる
といったことが挙げられます。プロの方の開発効率をあげるだけでなく初心者の方にもおすすめの実行環境です。
しかし、開発をする状況などによってはJDKでなくてはならない時があります。
おそらくプロの開発者の方しか使用しませんがコマンドプロンプトで開発を行う場合や、昔開発をしたプログラムを古いバージョンのまま動作を確認したいなど…さまざまです。
JDKは開発元のOracle社が提供しているということもあるため、本格的に開発を行いたいという方や本家のシステムを利用したいという方はJDKをインストールした方が良いでしょう。
さいごに
ここではあくまで初心者の方向けに説明をしましたのでもう少し深掘りしたいという方はさらに詳しく調べてみてください。開発を行う上で環境づくりは重要となってきます。少しでも効率よく自分にあった環境で開発を進められるようにこの記事を通してイメージがついたという方がいれば幸いです。読んでいただきありがとうございました。