Javaを勉強しはじめた方にとっては
JREやJDKの違いがわからない
どういう場面で何を使えばいいの?
といった声をお聞きします。
今回は、SEとEE、JREとJDKについて、これからJavaを学習しはじめる初心者の方にもわかるように解説します!
1からJavaの学習を始めたいという方は、侍エンジニアをご利用下さい。Javaは初心者がいきなり学習するには難しい言語と言われています。
そのため、学習にサポートがあるかないかで習得度が全く異なります。侍エンジニアでは現役Javaエンジニアがあなたの学習をマンツーマンで徹底的にサポートいたします。より効率的にJava学習を始めたい方はぜひ無料カウンセリングをご活用下さい。
JavaSEとJavaEEとは
JavaSE
JavaSE(Java Standard Edition)を一言で言うと「Javaの基本機能をまとめたもの」となります。
具体的にはJava言語でプログラミングを行う際に最低限必要な機能をまとめたものです。アプリケーションを開発する場合は後述するJDKをインストールしておく必要があります。
JavaSEは古いバージョン(5.0まで)では「Java 2 Platform Standard Edition(J2SE)」と呼ばれていました。現在では「Java Standard Edition」が正式名称であり略称はJavaSEとなります。
JavaSEはどんなときに使うの?
JavaSEはパソコン上で動作するゲームや便利なソフトを作ることができます。
パソコンでの用途以外では携帯電話や家電に仮想マシン(VM)と呼ばれる仕組みが搭載されていればJava言語を使ってアプリケーションの開発を行うことができます。
最近で言えばandroidを搭載したスマートフォンのアプリを作る際にJava言語を使用するためには、このJavaSEの導入は必須となります。
現在の最新版
2019年7月現在の最新版は「Java SE 12」です。
Java8や9の新機能についてはこちらの記事で詳しく解説しているので、ぜひ確認してください。


JavaEE
JavaEE(Java Enterprise Edition)は「JavaSEを元にしてサーバーサイドの機能を追加したもの」です。
主にWebサイト(もしくはWebアプリケーション)を開発する際に用いられます。JavaEEは簡単にいえば「JavaSE+拡張機能」といった構成になっています。
この拡張機能を使うことでJava言語でWebサイト(もしくはWebアプリケーション)を開発することができるようになります。
JavaEEの詳細についてはこちらの記事で詳しく解説しているので、ぜひ確認してください。

JavaEEは古いバージョン(5.0まで)ではJava 2 Platform Enterprise Edition(J2EE)と呼ばれていました。
現在では「Java Enterprise Edition」が正式名称であり略称はJavaEEとなります。
JavaEEはどんな時に使うの?
JavaEEの説明でWebサイト(もしくはWebアプリケーション)を開発する際に用いられると書きました。では具体的にどのようなサイトで使うのでしょうか。ユーザーがブラウザを使ってとあるサイトにアクセスしたとしてます。
Webサイトが置いてあるサーバーはユーザーからのアクセスに応じてWebサイトの情報をユーザーに送ります。この送る際に何か処理が必要な場合にJava EEの出番となります。
(もっと具体的な例を挙げれば会員登録や、ショッピングサイトのカートに入れる機能などの処理を作ることができます。)
余談ですがサーバーサイドのアプリケーション開発に用いられる言語としてJavaの他に「Ruby」や「PHP」等があります。
現在の最新版
2019年7月現在の最新版は「Java EE 8」です。
JavaSEとJavaEEの違いは?
ここでJavaSEとJavaEEの違いを簡潔にまとめます。
- JavaSEは「Javaの基本機能をまとめたもの」
- JavaEEは「JavaSE+拡張機能」
と、このようになっており、「拡張機能があるかどうか」という違いになっています。
JREとJDKとは
JRE
JRE(Java Runtime Environment)とは「Javaで作られたアプリケーションを動かすために必要なソフト」です。Java言語で書かれたプログラムを動かすために必要なプログラムとなります。
パソコン上でJavaアプリを動かす場合に必須となるため皆さんも既にインストールしているのではないでしょうか。
パソコンでWebサイトなどを見ているとJava言語で書かれたプログラム(Javaアプレット)に出会うことがあります。例えば下記のサイトもJavaアプレットで作られています。
こういったサイトを利用するにはJavaアプレットを動かすために必要なJREを先にインストールしておく必要があります。
JREはどんな時に必要なの?
上記でも解説したとおりJREをインストールすれば様々なサイトのJavaアプレットを動かすことができるでしょう。
このJREはJavaで書かれたプログラムを実行するのに必要であるため、Java言語を使ってプログラミングを行う開発者だけでなくユーザー側も必要となります。
JDK
JDK(Java SE Development Kit)とは「Java言語でプログラムを組む際に必要なソフト(開発キット)」です。つまり、一番最初に解説したJavaSEを使ってJava言語でプログラムを書く場合にはこのJDKが必須になります。
開発者向けに必要なキットになるためユーザー(Javaで作られたアプリを使用する側)はインストールする必要はありません。
JDK内にはJREも含まれています。Javaでアプリを開発したい場合、JDKを入れれば開発を始めることが可能です。
ただしIDE(統合開発環境)と呼ばれるソフトをあわせて使うことでより開発しやすくなります。統合開発環境を構築したい方はこちらの記事が参考になります↓


JavaのIDEといえば「NetBeans IDE」や「Eclipse」が有名だと思います。
これらのソフトをインストールし効率の良いアプリケーション開発ができるといいですね!
JavaEEの場合はJDKは必要?
Java言語を使って開発するためJDKは必須です。特にEclipse等のIDEと併用する場合は文法チェックといった機能を含めて使用するために、JDKを先にインストールしておかなければなりません。
開発を始める時はJDKをインストールしましょう。
JREとJDKの違いは?
JREとJDKの違いについてまとめていきます。
- JREは「Javaで作られたアプリケーションを動かすために必要なソフト」
- JDKは「Javaでプログラムを組む際に必要なソフト」
と違いは「アプリケーションまで動かすことができるかどうか」です。また、JREはJDKに含まれています。
未経験からJavaエンジニアを目指してみませんか?
ここまで、JavaSEとJavaEEの違いとJREとJDKの違いをご紹介しました。それぞれの特徴をまとめると、
- JavaSEとJavaEEの違いは「拡張機能があるかどうか」
- JREとJDKの違いは「javaで構成されたアプリケーションを動かすことができるか」
初めにもご紹介しましたが、Javaは初学者には難しい言語といわれています。開発環境周りだけでも種類が多く、覚えなければならないことが非常に多い言語です。
しかし、Javaは需要の高い言語でJavaエンジニアの求人数は東京だけで15000件以上あります。(2019年3月30日時点のIndeed求人数より抜粋)
つまりJavaを習得すれば転職は容易にできるということです。
Java学習なら侍エンジニア
侍エンジニアでは現役Javaエンジニアがあなたの学習をマンツーマンでサポートいたします。弊社では全くの未経験者から多くのエンジニアを輩出しており、今までに16,000名以上の指導実績があります。
以前学習を始めたが挫折してしまった。
最短で実践的なスキルを身に付けたい!
このような悩みや願望をお持ちの方は侍エンジニアでJava学習を始めてみませんか?
まずは弊社の無料カウンセリングで侍エンジニアを実際に体感してみて下さい。専属コンサルタントがあなたの不安や疑問、今後のキャリアにいたるまでをお話させていただきます。
下記カレンダーからお手隙の時間を選んでいただくことで、簡単に無料カウンセリングを予約いただけます。お気軽にお越しくださいませ。
遠方の方はオンラインでのビデオ通話で受講もできますのでご安心ください。
お急ぎの方はこちらからお問い合わせください。
読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。
再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。
カウンセリングはオンラインにて実施しております。
※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します
1.ご希望の日時を選択してください
2.必須事項を入力してください
ご予約ありがとうございます!
予約が完了しました。ご予約情報とご参加前の準備をご確認ください。
【ご予約情報】○月○日(△) ○○:○○〜
カウンセリング参加に向けてのご準備
※記入いただいたメールアドレスに確認用メールをお送りしておりますのでご確認ください。
※オンラインカウンセリングはGoogle Meetにて実施します。URLが発行したら別途ご案内いたします。
※メールが届かない場合は、SAMURAI ENGINEERサポート(support@sejuku.net)までご連絡ください。