プログラミング

【必読】Java SE・JDK・JRE・JVMの違い【具体例有】

2021年11月24日

シン

現役エンジニア兼ブロガー|29歳|大阪システム開発会社勤務|特化ブログ月間33万PV達成|ブログ・プログラミング・エンジニア情報を発信|猫好きです。

本記事の内容

  • Javaとは
  • Java SEとEE,MEの違い
  • JDK,JRE,JVMの違い

Javaは日本で多くの企業で使われている人気プログラミング言語です。JavaはOSに依存しない言語という特徴がありますが、Javaで開発を行うためには、いくつかのソフトが必要になります。

今回は「Java SE,EE,MEの違い」「JDK,JRE,JVMの違い」について、わかりやすく解説していきます。僕自身は大阪で現役Javaエンジニアとして勤務しておりますので、記事内容の信ぴょう性はあるかとおもいます。

最後までご覧いただくことで、Javaがどういった仕組みで動いているのかが明確になります。これからお伝えすることは、Javaエンジニアになる方であれば必須の知識となりますので、ぜひこの記事でマスターしていってくださいね。

では早速みていきましょう。

プログラミング言語Javaとは

最初にJavaとは、どのようなプログラミング言語なのかについて解説していきます。

サン・マイクロシステムズが開発

Javaとは、1995年にアメリカのサン・マイクロシステムズが開発しリリースされたプログラミング言語です。2010年にOracle社に買収されたため、現在はOracle社がJavaの版権を持っています。

Javaのバージョンの歴史をざっくりまとめると、下記の通りです。

  • JDK Beta:1995年
  • JDK1.0 :1996年1月23日
  • J2SE1.2 :1998年12月8日
  • Java SE 6:2006年12月11日
  • Java SE 17:2021年9月14日

2021年11月現在のJavaのバージョンは「Java SE 17」となっております。リリースされてから、かれこれ26年も経っているのです。

Javaで作られた世の中のもの

Javaは、世の中のさまざまなアプリケーションやシステムに使われているプログラミング言語です。例えば大人気ゲームのマインクラフトは、Javaでつくられています。他にも、TwitterもJavaで作られています。

Javaはデザインを整えたりするためのフロントエンド側ではなく、目に見えない裏側のバックエンドで動く言語です。Javaが動くタイミングは様々ですが、たとえば簡単にいうと、「ボタン」を押したとき等に動作します。

Java SE・Java EE・Java MEの違いとは

Javaに関連する専門用語はたくさんあります。さらに似たような用語が多いので、用語だけを覚えようとすると、どれがどんな意味なのか覚えるのが大変です。しかしそれぞれの役割について理解をすれば、初心者でも覚えることはさほど難しくありません。

ここからは、下記について解説していきます。

  • Java SEとは
  • Java EEとは
  • Java MEとは

一つずつみていきましょう。

Java SEとは

Java SEとは、Java Standard Editionの略で、主にJavaのプログラミングで使われる最低限必要な基本機能をまとめたAPIです。APIとは、簡単にいうと、機能を共有する仕組みのことを言います。たとえば、Javaでよく目にする出力時に使われる「System.out.println」も、Java SEの中にあるAPIを使っているから利用できるのです。

Java SEは、Javaで開発するために必要な基本的なAPIをまとめたもの

Java EEとは

Java EEとは、Java Platform Enterprise Editionの略で、Java SEに拡張機能を加えたものです。たとえば簡易デスクトップアプリはJava SEのみで開発することも可能ですが、大規模システムを開発する際などは、Java EEが必要なケースがあります。またJava EEは旧名で、現在は「Jakarta EE」に名称変更されています。

Java EEは、大規模開発に使われるJava SEに拡張機能を加えたもの

Java MEとは

Java MEとは、Java Platform Micro Editionの略です。Java MEは主に、携帯電話やプリンタ、家電製品といった組み込み系デバイスを開発するために必要なAPIがまとめられています。

Java MEは、組み込み系デバイス開発時に必要なAPIをまとめたもの

JDK・JRE・JVMの違いとは

続いてJDK,JRE,JVMについてです。

  • JDKとは
  • JREとは
  • JVMとは

ではわかりやすく解説していきますので、順番に見ていきましょう。

JDKとは

JDKとは、Java Development Kitの略で、Javaで開発するために必要なソフトのことです。JDKがあることで、Javaのプログラムのコンパイルや実行、デバッグなどができるようになります。コンパイルとは簡単に言いますと、Javaのプログラムをコンピュータが理解できるように変換することを言います。

JDKには後述するJREが含まれております。そしてJREの中に、JVMも含まれています。つまりJDKをインストールすれば、Javaでの開発が可能となります。JDKは、Oracle公式サイトよりインストールすることが可能です。

JDKはJavaの開発キット

JREとは

JREとは、Java Runtime Environmentの略です。「Runtime(ランタイム)」とは、「実行」という意味になります。つまりJREは、Javaのアプリを実行するために必要なものがまとめられたソフトです。JREは単独でインストールすることはできず、先述したJDKの中に含まれております。

JREはJavaプログラムを実行するためのソフト

JVMとは

JVMとは、Java virtual Machineの略で、JavaのアプリケーションをmacOSや Windowsなどで実行するために必要なアプリケーションです。Javaの仮想マシンとも呼ばれています。

JavaはOSに依存しないプログラミング言語なので、JVMをインストールさえすればどんなOSでも動作します。たとえば、Windows,macOS,Linuxなどですね。JVMは先述したJREの中に含まれております。

JVMはJavaのプログラムをOSで動作させるための仮想マシン

Java SE・JDK・JRE・JVMの違い:まとめ

Java SEやJDK,JRE,JVMの違いについて解説してきました。下記まとめです。

  • Java SEは、Javaで開発するために必要な基本的なAPIをまとめたもの
  • Java EEは、大規模開発に使われるJava SEに拡張機能を加えたもの
  • Java MEは、組み込み系デバイス開発時に必要なAPIをまとめたもの
  • JDKはJavaの開発キット
  • JREはJavaプログラムを実行するためのソフト
  • JVMはJavaのプログラムをOSで動作させるための仮想マシン

似たような用語がたくさんあるので、一度で覚えるのは難しいと思います。ぜひ本記事を何度も見返していただき、徐々に覚えていってくださいませ。

今回は以上です。

  • この記事を書いた人

シン

現役エンジニア兼ブロガー|29歳|大阪システム開発会社勤務|特化ブログ月間33万PV達成|ブログ・プログラミング・エンジニア情報を発信|猫好きです。

-プログラミング