違いを解説君

あるゆる物事の"違い"をわかりやすく解説する情報マガジン

Javaの本を持つ男

ITの違い

JavaのJDKとJREの違いをわかりやすく解説!機能や役割をチェック

Javaアプリを動かすときには、パソコンにJavaをインストールしておく必要があります。

Javaをインストールするとき、『JDK』と『JRE』のどちらにするか決めなければなりません。

あなたは、『JDK』と『JRE』の違いを知っていますか?

 

はなこ
Javaに『JDK』と『JRE』の2つのタイプがあるでしょ。

あれって、いったい何が違うのかな?

何が違うのかは気にしたことがないな。

とりあえず、僕は『JDK』を入れているけど、困ったことはないよ。

たろう
はなこ
『JDK』と『JRE』の違いについて、調べてみたいわね。

 

今回は、Javaの『JDK』と『JRE』の機能や役割についてチェックし、それぞれの違いを解説します。

スポンサーリンク

【Java】『JDK』と『JRE』の機能や役割

まずは、『JDK』と『JRE』について見てみましょう。

『JDK』とは?

『Java Development Kit』の略で、Javaでプログラムを開発するためのキット

のことです。

開発者が、

Javaを使ってプログラムを開発する

ためには、『JDK』が必要になります。

 

『JRE』とは?

『Java Runtime Environment』の略で、Javaを実行するための環境

のことです。

作成されたプログラムを動かすためには、『JRE』が必要になります。

 

はなこ
Javaを開発するためには『JDK』、動かすためには『JRE』がそれぞれ必要だということね。
ということは、自分で開発したJavaプログラムを動作させるためには、『JDK』と『JRE』がどちらも必要になるということかな?
たろう

 

次に、Javaについても簡単に紹介しておきます。

Javaとは?

1995年にサン・マイクロシステムズにより公開されたプログラミング言語

のことです。

次のような特徴を持った言語として、当時は話題になりました。

Javaの特徴

  • オブジェクト指向言語である。
  • プラットフォームに依存しない。
  • マルチスレッドを標準配備している。
  • ガベージ・コレクションを標準配備している。

Javaが誕生する前は、オブジェクト指向言語としてはC++が主に利用されていました。

Javaは、C++に文法などがよく似た形のオブジェクト指向言語です。

しかし、C++にはない、いくつかの特徴があります。

 

プラットフォームに依存しない

まず、

プラットフォームに依存しない

という特徴があります。

C言語やC++で書かれたプログラムは、特定のプラットフォームでしか動作しません。

例えば、Linux用にコンパイルされた実行ファイルは、Windows上では動かないわけです。

しかし、Javaは中間言語と呼ばれる形にコンパイルし、それを仮想マシン上で動作させるという方法によって、プログラムがどこでも動作できるようにしました。

"Write once, run anywhere(一度書けば、どこでも動く)" という言葉は、当時有名になりました。

 

マルチスレッド

スレッドとは、プログラムが処理する単位を表します。

マルチコアCPUでは、一度に複数の処理を並列で実行させることができます。

マルチコアで並列処理を実現するための仕組みがJavaには標準配備されています。

C言語やC++では、専用のライブラリが必要であり、言語の中には標準配備されていません。

 

ガベージ・コレクション

ガベージ・コレクションとは、不要なリソースを解放する仕組みのことです。

C言語やC++では、確保したリソースはプログラマが自分で解放する必要があります。

リソースの解放処理を自動で行う仕組みがガベージ・コレクションです。

 

『JDK』と『JRE』の違い

Java

Java

『JDK』と『JRE』の主な違いは次のようになります。

『JDK』と『JRE』の違い

  • 『JDK』には開発用・実行用の両方の環境があるが、『JRE』には実行用の環境しかない。
  • 『JRE』は『JDK』の中に含まれている。

『JDK』は、

Javaでプログラムを開発するために必要な環境

それを実行するために必要な環境

の両方が入っています。

『JRE』は、そのうち実行のために必要な環境しかありません。

このような構成であるため、

『JRE』は『JDK』の中に含まれています。

『JDK』だけインストールすれば、合わせて『JRE』をインストールする必要はありません。

 

はなこ
なるほど、『JDK』さえインストールしておけば、『JRE』までインストールする必要はなくなるわけね。
でも、自分は開発しないよって人は、『JRE』のほうがサイズは小さいから『JRE』だけで十分だということだね。
たろう

 

Javaを開発したサン・マイクロシステムズは、2010年にオラクル社に買収されました。

以降のJavaは、オラクルが保守を行うことになっています。

 

最近では、ライセンス形態の変更やセキュリティ問題など、Javaに関する悪いニュースが、いろいろと発生しています。

ライセンスについては、常に最新バージョンのJavaを使い続ける限り、無償での利用が可能ですが、特定のバージョンでアップデートを希望する場合は、有償のライセンスを結ばなくてはなりません。

最新バージョンへの移行に伴うアプリケーションの対応がすぐにできない場合、無償での利用は難しいことがあります。

セキュリティについては、ニュースで頻繁に話題にされていたこともあります。

そんなこともあり、Java離れという現象も発生しているようですね。

しかし、思想や言語仕様などは非常に良いので、これからも生き残って欲しいものです。

スポンサーリンク

まとめ

今回の違いのポイントについて、まとめていきましょう。

ポイント

  • Javaとは、1995年にサン・マイクロシステムズにより公開されたプログラミング言語のことである。
  • 『JDK』とは、『Java Development Kit』の略で、Javaでプログラムを開発するためのキットのことである。
  • 『JRE』とは、『Java Runtime Environment』の略で、Javaを実行するための環境のことである。
  • 『JDK』には開発用・実行用の両方の環境があるが、『JRE』には実行用の環境しかない。
  • 『JRE』は『JDK』の中に含まれている。

Javaは、

C++に比べて習得しやすい

というメリットがあります。

本格的なオブジェクト指向言語のプログラムにチャレンジするなら、Javaを使ってみてはどうでしょうか。

関連記事

-ITの違い

Copyright © 違いを解説君 , All Rights Reserved.