Java SE / EE / MEの違いは?


326

Javaの学習を開始したい場合、どちらをインストールする必要がありますか?いくつかの基本から始めるので、ファイル、ディレクトリ、XMLファイルの編集などを行う単純なプログラムを作成しますが、今のところ複雑すぎません。

Windows 7デスクトップにJava SE(Standard Edition)をインストールする必要があると思います。Javaコードの記述に使用するKomodo IDEはすでに持っています。


6
Java SEの学習から始める必要があります。Java EEは、最初は少し戸惑うことがあります。準備ができたら、この優れたJava EE 7の概要ページ参照して開始してください。特に、Java EE 7 Oracleチュートリアルを開始するのに適しています。
デクスターマイヤーズ2014

回答:


545

Java SE = Standard Edition。これはコアJavaプログラミングプラットフォームです。これには、Javaプログラマーが学習する必要のあるすべてのライブラリーとAPI(java.lang、java.io、java.math、java.net、java.utilなど)が含まれています。

Java EE = Enterprise Edition。ウィキペディアから:

Javaプラットフォーム(Enterprise Edition)は、Java Standard Edition Platform(Java SE)とは異なり、主にアプリケーションサーバーで実行されるモジュラーコンポーネントに基づいて、フォールトトレラントな分散型多層Javaソフトウェアを展開する機能を提供します。 。

つまり、アプリケーションで非常に大規模な分散システムが必要な場合は、Java EEの使用を検討する必要があります。Java SEの上に構築され、データベースアクセス(JDBC、JPA)、リモートメソッド呼び出し(RMI)、メッセージング(JMS)、Webサービス、XML処理用のライブラリを提供し、エンタープライズJavaBean、サーブレット、ポートレット、Javaの標準APIを定義しますサーバーページなど...

Java ME = Micro Edition。これは、モバイルデバイスやセットトップボックスなどの組み込みシステム向けのアプリケーションを開発するためのプラットフォームです。Java MEは、Java SEの機能のサブセットを提供しますが、モバイルデバイスに固有のライブラリも導入します。Java MEは以前のバージョンのJava SEに基づいているため、Java 1.5で導入された新しい言語機能の一部(ジェネリックなど)は使用できません。

Javaを初めて使用する場合は、Java SEから始めてください。


157
以前にJavaをコーディングしたことがない人にIDEを勧めることには反対です。最初にコマンドラインを使用していくつか記述し、CLASSPATHの意味を理解できるようにします。Javaを理解する前にEclipseを使用する場合、それはあなたが知らない2つの大きなことです。
duffymo

47
@duffymo IMOプレーンテキストエディターを使用したコーディングは新しい言語の学習に何のメリットもないため、IDEの推奨事項を持つことは実際に良い考えです。インテリセンスとオートコンプリートは、他のエコシステムをすでに知っているプログラマーにとって非常に貴重な助けになります。新しい環境に慣れている。
Felice Pollano、2015年

4
@duffymoグーグルが私をここに連れて来て以来、私は5年後もこれを読んでいます。ただし、この特定の例では、IDEに関するあなたの主張に同意します。
qutab 2015

8
困難で時代を超えた問題について話し合うことには何の問題もありません。
LegendLength 2016年

2
JDKエディションのみが特定されていますか?またはJREとJVMはSEとEEで異なりますか?
Arun SR

68

APIの面でいくつかの違いがあります

Java SEには、次のAPIなどが含まれています

  • アプレット
  • awt
  • RMI
  • jdbc
  • スイング
  • コレクション
  • xmlバインディング
  • JavaFX(Java SE 8に統合)
  • Java 8コレクションストリーミングAPI
  • Java 9 Reactive Streams API
  • Java 9 HTTP / 2 API

Java EEには、次のAPIなどが含まれています

  • サーブレット
  • WebSocket
  • Javaの顔
  • 依存性注入
  • ejb
  • 粘り強さ
  • トランザクション
  • jms
  • バッチAPI

Java MEには、次のAPIなどが含まれています

  • ワイヤレスメッセージング
  • Java ME Webサービス
  • セキュリティおよび信頼サービスAPI
  • ロケーション
  • モバイルXML API

お役に立てれば。


1
提示されているように、それは、SEの何がEEに含まれていないということですか?そして、私には何がEEにないのですか?たとえば、ワイヤレスメッセージングが必要な場合、MEが必要で、EEでは使用できないようです。これは正しいです?
ejbytes 2018年

Java EEバージョン6以降、コレクションAPIもJava EEの一部ですか?
Sriyank Siddhartha

52

Java SEは、Java EEが構築される基盤です。

Java MEは、モバイルデバイスのSEのサブセットです。

したがって、プロジェクトにJava SEをインストールする必要があります。


36

Oracleのドキュメントによると、実際には4つのJavaプラットフォームがあります。

  • Javaプラットフォーム、Standard Edition(Java SE)
  • Javaプラットフォーム、Enterprise Edition(Java EE)
  • Javaプラットフォーム、マイクロ版(Java ME)
  • JavaFX

Java SEはデスクトップアプリケーションを開発するためのものであり、Java言語で開発するための基盤です。これは、Javaアプリケーションで使用される開発ツール、配備テクノロジ、およびその他のクラスライブラリとツールキットで構成されています。Java EEはJava SEの上に構築されており、Webアプリケーションや大規模なエンタープライズアプリケーションの開発に使用されます。Java MEはJava SEのサブセットです。小さなデバイスでJavaアプリケーションを実行するためのAPIと小さなフットプリントの仮想マシンを提供します。JavaFXは、軽量のユーザーインターフェイスAPIを使用してリッチインターネットアプリケーションを作成するためのプラットフォームです。これは、Javaプラットフォームのファミリーに最近追加されたものです。

厳密に言えば、これらのプラットフォームは仕様です。それらは規範であり、ソフトウェアではありません。Java Platform、Standard Edition Development Kit(JDK)は、 Oracleが提供するJava SE仕様の公式実装です。OpenJDKやIBMのJ9など、他の実装もあります。

Javaを初めて使用するユーザーは、プラットフォームとオペレーティングシステム用のJDKをダウンロードします(OracleのJDKは、こちらからダウンロードでき ます)。


1
これはJava 6にも当てはまります。Java7のドキュメントには3つのプラットフォームがあり、JavaFXはJava SEの一部であると記載されています。
Javatar 2014

Java SEは、デスクトップアプリケーションの開発用です。JavaEEは、Webアプリケーションや大規模なエンタープライズアプリケーションの開発に使用されます。
AyukNayr 2018

20

この質問に遭遇したとき、Oracleのチュートリアルで提供された情報は非常に完全であり、共有する価値があることがわかりました。

Javaプログラミング言語プラットフォーム

Javaプログラミング言語には4つのプラットフォームがあります。

  • Javaプラットフォーム、Standard Edition(Java SE)

  • Javaプラットフォーム、Enterprise Edition(Java EE)

  • Javaプラットフォーム、マイクロ版(Java ME)

  • JavaFX

すべてのJavaプラットフォームは、Java仮想マシン(VM)とアプリケーションプログラミングインターフェイス(API)で構成されています。Java仮想マシンは、Javaテクノロジーアプリケーションを実行する特定のハードウェアおよびソフトウェアプラットフォーム用のプログラムです。APIは、他のソフトウェアコンポーネントまたはアプリケーションの作成に使用できるソフトウェアコンポーネントのコレクションです。各Javaプラットフォームは仮想マシンとAPIを提供します。これにより、そのプラットフォーム用に作成されたアプリケーションを、プラットフォーム非依存、パワー、安定性、開発の容易さ、およびJavaプログラミング言語のすべての利点を備えた互換性のあるシステムで実行できます。セキュリティ。

Java SE

ほとんどの人がJavaプログラミング言語について考えるとき、彼らはJava SE APIについて考えます。Java SEのAPIは、Javaプログラミング言語のコア機能を提供します。これは、Javaプログラミング言語の基本的なタイプとオブジェクトから、ネットワーク、セキュリティ、データベースアクセス、グラフィカルユーザーインターフェイス(GUI)開発、およびXML解析に使用される高レベルのクラスまですべてを定義します。

コアAPIに加えて、Java SEプラットフォームは、仮想マシン、開発ツール、配備テクノロジ、およびJavaテクノロジアプリケーションで一般的に使用されるその他のクラスライブラリとツールキットで構成されています。

Java EE

Java EEプラットフォームは、Java SEプラットフォームの上に構築されています。Java EEプラットフォームは、大規模な多層型のスケーラブルで信頼性の高い安全なネットワークアプリケーションを開発および実行するためのAPIおよびランタイム環境を提供します。

Java ME

Java MEプラットフォームは、携帯電話などの小型デバイスでJavaプログラミング言語アプリケーションを実行するためのAPIと設置面積の小さい仮想マシンを提供します。APIは、Java SE APIのサブセットであり、小型デバイスアプリケーションの開発に役立つ特別なクラスライブラリも備えています。Java MEアプリケーションは、多くの場合、Java EEプラットフォームサービスのクライアントです。

JavaFX

JavaFXは、軽量のユーザーインターフェイスAPIを使用してリッチインターネットアプリケーションを作成するためのプラットフォームです。JavaFXアプリケーションは、ハードウェアアクセラレーションされたグラフィックスとメディアエンジンを使用して、ネットワーク接続されたデータソースに接続するために、高性能クライアントと最新のルックアンドフィール、および高レベルAPIを利用します。JavaFXアプリケーションは、Java EEプラットフォームサービスのクライアントである場合があります。


1
オラクルのサイトからコピー:)
Irfan Nasim

1
@IrfanNasim私はそれがOracleからコピーされたことを知っています、そして私はそれを言及しました!! 上から答えを読みましたか?!そして、SOでリンクを提供するときは、重要な情報もコピーする必要があることを知っていますか。リンクが最新でないか機能していない場合でも、人々はリンクの内容を読むことができます。198人の担当者がいて、それでもルールを知らないのは奇妙です。
Tarik、2016年

13

Windows 7デスクトップにJava SE(Standard Edition)をインストールする必要があると思います

はい、もちろん。まず、Java SEが最適です。ところであなたはJavaの基本を学ぶ必要があります。つまり、Java SEのライブラリとAPIのいくつかを学ぶ必要があります。

Javaプラットフォームのエディションの違い:

Java Micro Edition(Java ME):

  • 高度に最適化されたランタイム環境。
  • 消費者向け製品(ポケットベル、携帯電話)をターゲットにします。
  • Java MEは、以前はJava 2 Platform、Micro Edition、またはJ2MEと呼ばれていました。

Java Standard Edition(Java SE):

アプレットおよびアプリケーションを作成、デプロイ、および実行する開発者向けのJavaツール、ランタイム、およびAPI。Java SEは、以前はJava 2 Platform、Standard EditionまたはJ2SEと呼ばれていました。(これから始まるすべての人/初心者)

Java Enterprise Edition(Java EE):

エンタープライズクラスのサーバー側アプリケーションを対象とします。Java EEは、以前はJava 2 Platform、Enterprise EditionまたはJ2EEと呼ばれていました。

この質問に対する別の重複した質問。


最後に、J ..の混乱について

JVM(Java仮想マシン):

JVMはJDKとJREの両方の一部であり、Javaバイトコードを変換して、クライアントマシンでネイティブコードとして実行します。

JRE(Javaランタイム環境):

これは、Javaプログラムを実行するために提供される環境です。これに、JVM、クラスライブラリ、およびその他のサポートファイルが含まれています。コンパイラ、デバッガなどの開発ツールは含まれていません

JDK(Java開発キット):

JDKには、Javaプログラム(javac、java、javadoc、appletviewer、jdb、javap、rmicなど)の開発に必要なツールと、プログラムを実行するためのJREが含まれています。

Java SDK(Javaソフトウェア開発キット):

SDKは、JDKと、アプリケーションサーバー、デバッガー、ドキュメントなどの追加のソフトウェアで構成されています。

Java SE:

Javaプラットフォーム、Standard Edition(Java SE)を使用すると、デスクトップおよびサーバー(SDKと同じ)でJavaアプリケーションを開発およびデプロイできます。

J2SE、J2ME、J2EE

1.2から1.5までのすべてのJavaエディション

これらのトピックの詳細をご覧ください。


11

はい、Java SEが出発点です。あなたが言及するすべてのタスクはそれで処理することができます。

Java MEはMobile Editionで、EEはEnterprise Editionです。これらは、Standard Editionの特殊バージョンまたは拡張バージョンです。


7

はい、Java SEから始める必要があります。Java EEはWebアプリケーション用で、Java MEはモバイルアプリケーション用です。これらはどちらもSEから構築されています。


6

Java SE(Standard Edition)は、デスクトップアプリを構築するためのものです。

Java ME(Micro Edition)は古いモバイルデバイス用です。

Java EE(Enterprise Edition)は、Webベースのアプリケーションを開発するためのものです。


2

私があなただったら、Java SE SDKをインストールします。インストールしたら、JAVA_HOME環境変数が設定されていることを確認し、%JAVA_HOME%\ binディレクトリをパスに追加します。


1

開発者は、Javaプラットフォームのさまざまなエディションを使用して、デスクトップコンピューター、Webブラウザー、Webサーバー、モバイル情報デバイス(フィーチャーフォンなど)、および組み込みデバイス(テレビセットトップボックスなど)で実行されるJavaプログラムを作成します。

Java Platform、Standard Edition(Java SE):デスクトップ上で実行されるスタンドアロンプ​​ログラムである、アプリケーションを開発するためのJavaプラットフォーム。Java SEは、アプレット(Webブラウザーで実行されるプログラム)の開発にも使用されます。

Java Platform、Enterprise Edition(Java EE): Java EEのサーブレットAPIに準拠するサーバープログラムである、エンタープライズ指向のアプリケーションとサーブレットを開発するためのJavaプラットフォーム。Java EEはJava SEの上に構築されています。

Javaプラットフォーム、マイクロ版(Java ME): モバイル情報デバイスで実行されるプログラムであるMIDlet、および組み込みデバイスで実行されるプログラムであるXletを開発するためのJavaプラットフォーム。


0

SE(JDK)には、Javaに夢中になるために必要なすべてのライブラリーがあります。Oracleから直接SE(JDK)にバンドルされているため、Netbeans IDEをお勧めします。特にコマンドラインを試す場合は、「path」と「classpath」変数を設定することを忘れないでください。64ビットシステムでは、「システムパス」を挿入します。たとえば、C:\ Program Files(x86)\ Java \ jdk1.7.0変数をC:\ Windows \ system32の前に挿入します。システムをJDKに転送します。

お役に立てれば。


0

Java SEは、デスクトップアプリケーションと単純なコア機能に使用されます。Java EEはデスクトップに使用されますが、Web開発、ネットワーキング、高度なものにも使用されます。


0

EE:-Enterprise Edition:-このJavaエディションは、エンタープライズアプリケーション/ビジネス向けに特別に設計されており、セキュリティ、トランザクション管理などに重要な多数の異なるサーバーを処理する必要があります。

SE:-標準エディション:-このエディションは標準アプリケーション用です。

ME:-マイクロエディション:-このJavaエディションは、携帯電話プラットフォーム用に特別に設計されています。モバイルのメモリリソースは限られているため、メモリ管理がより重要になります。

したがって、JAVAには基本的に、要件ごとに異なるエディションがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.