Unterschied zwischen Java SE / EE / ME?

326

Welches sollte ich installieren, wenn ich Java lernen möchte? Ich werde mit einigen Grundlagen beginnen, also werde ich einfache Programme schreiben, die Dateien, Verzeichnisse erstellen, XML-Dateien bearbeiten und so weiter, für den Moment nichts zu komplexes.

Ich denke, Java SE (Standard Edition) sollte ich auf meinem Windows 7-Desktop installieren. Ich habe bereits eine Komodo-IDE, mit der ich den Java-Code schreiben werde.

Richard Knop
quelle
6
Sie sollten mit dem Erlernen von Java SE beginnen. Java EE kann zunächst etwas verwirrend sein. Wenn Sie dazu bereit sind, schauen Sie sich diese hervorragende Java EE 7-Übersichtsseite an, um loszulegen. Insbesondere das Java EE 7 Oracle-Tutorial ist ein guter Anfang.
Dexter Meyer

Antworten:

545

Java SE = Standard Edition . Dies ist die zentrale Java-Programmierplattform. Es enthält alle Bibliotheken und APIs, die jeder Java-Programmierer lernen sollte (java.lang, java.io, java.math, java.net, java.util usw.).

Java EE = Enterprise Edition . Aus Wikipedia:

Die Java-Plattform (Enterprise Edition) unterscheidet sich von der Java Standard Edition-Plattform (Java SE) darin, dass sie Bibliotheken hinzufügt, die Funktionen zum Bereitstellen fehlertoleranter, verteilter, mehrschichtiger Java-Software bereitstellen, die weitgehend auf modularen Komponenten basieren, die auf einem Anwendungsserver ausgeführt werden .

Mit anderen Worten, wenn Ihre Anwendung ein sehr großes, verteiltes System erfordert, sollten Sie die Verwendung von Java EE in Betracht ziehen. Es basiert auf Java SE und bietet Bibliotheken für Datenbankzugriff (JDBC, JPA), Remote Method Invocation (RMI), Messaging ( JMS ), Webdienste, XML-Verarbeitung sowie Standard-APIs für Enterprise JavaBeans, Servlets, Portlets und Java Serverseiten usw ...

Java ME = Micro Edition . Dies ist die Plattform für die Entwicklung von Anwendungen für mobile Geräte und eingebettete Systeme wie Set-Top-Boxen. Java ME bietet eine Teilmenge der Funktionalität von Java SE, führt jedoch auch Bibliotheken ein, die für mobile Geräte spezifisch sind. Da Java ME auf einer früheren Version von Java SE basiert, sind einige der in Java 1.5 eingeführten neuen Sprachfunktionen (z. B. Generika) nicht verfügbar.

Wenn Sie neu in Java sind, beginnen Sie auf jeden Fall mit Java SE.

6006604
quelle
157
Ich würde nicht zustimmen, jemandem eine IDE zu empfehlen, der Java noch nie zuvor codiert hat. Schreiben Sie zuerst einige über die Befehlszeile, damit Sie die Chance haben, zu verstehen, was CLASSPATH bedeutet. Wenn Sie Eclipse verwenden, bevor Sie Java verstehen, sind dies zwei große Dinge, die Sie nicht kennen.
Duffymo
47
@duffymo IMO ist es eigentlich eine gute Idee, eine IDE-Empfehlung zu haben, da das Codieren mit einem Nur-Text-Editor keinen Nutzen beim Erlernen einer neuen Sprache bringt. Intellisense und Autocompletion sind eine unschätzbare Hilfe für einen Programmierer, der bereits andere Ökosysteme kennt mit der neuen Umgebung vertraut.
Felice Pollano
4
@duffymo Ich lese dies immer noch nach 5 Jahren, als Google mich hierher gebracht hat. Ich denke, es gibt immer noch einen Grund, eine Diskussion zu beginnen. In diesem speziellen Fall stimme ich jedoch Ihren Argumenten zu IDEs zu.
Qutab
8
Ich sehe nichts falsches daran, schwierige und zeitlose Themen zu diskutieren.
LegendLength
2
Ist nur die JDK-Edition spezifisch? oder JRE und JVM unterscheiden sich für SE & EE?
Arun SR
68

Hier sind einige Unterschiede in Bezug auf APIs

Java SE enthält die folgenden APIs und viele mehr

  • Applet
  • awt
  • rmi
  • jdbc
  • schwingen
  • Sammlungen
  • XML-Bindung
  • JavaFX (zusammengeführt mit Java SE 8)
  • Streaming-API für Java 8-Sammlungen
  • Java 9 Reactive Streams API
  • Java 9 HTTP / 2 API

Java EE enthält die folgenden APIs und viele mehr

  • Servlet
  • Websocket
  • Java-Gesichter
  • Abhängigkeitsspritze
  • ejb
  • Beharrlichkeit
  • Transaktion
  • jms
  • Batch-API

Java ME enthält die folgenden APIs und viele mehr

  • Drahtloses Messaging
  • Java ME Web Services
  • API für Sicherheits- und Vertrauensdienste
  • Standort
  • Mobile XML-API

Hoffe das hilft.

tharindu_DG
quelle
1
Bedeutet das, dass das, was in SE enthalten ist, nicht in EE enthalten ist? Und was in mir ist, ist nicht in EE? Wenn Sie beispielsweise Wireless Messaging möchten, benötigen Sie ME und es ist in EE nicht verfügbar. Ist das richtig?
Ejbytes
Ist die Collections-API ab Java EE Version 6 auch Teil von Java EE?
Sriyank Siddhartha
52

Java SE ist die Grundlage, auf der Java EE basiert.

Java ME ist eine Teilmenge von SE für mobile Geräte.

Sie sollten also Java SE für Ihr Projekt installieren.

Duffymo
quelle
36

Laut der Dokumentation von Oracle gibt es tatsächlich vier Java-Plattformen:

  • Java-Plattform, Standard Edition (Java SE)
  • Java-Plattform, Enterprise Edition (Java EE)
  • Java-Plattform, Micro Edition (Java ME)
  • JavaFX

Java SE dient zur Entwicklung von Desktop-Anwendungen und ist die Grundlage für die Entwicklung in Java-Sprache. Es besteht aus Entwicklungstools, Bereitstellungstechnologien und anderen Klassenbibliotheken und Toolkits, die in Java-Anwendungen verwendet werden. Java EE basiert auf Java SE und wird zur Entwicklung von Webanwendungen und großen Unternehmensanwendungen verwendet. Java ME ist eine Teilmenge der Java SE. Es bietet eine API und eine virtuelle Maschine mit geringem Platzbedarf zum Ausführen von Java-Anwendungen auf kleinen Geräten. JavaFX ist eine Plattform zum Erstellen umfangreicher Internetanwendungen mithilfe einer kompakten Benutzeroberflächen-API. Es ist ein neues Mitglied in der Familie der Java-Plattformen.

Genau genommen handelt es sich bei diesen Plattformen um Spezifikationen. Sie sind Normen, keine Software. Das Standard Edition Development Kit (JDK) für die Java-Plattform ist eine offizielle Implementierung der von Oracle bereitgestellten Java SE-Spezifikation. Es gibt auch andere Implementierungen wie OpenJDK und IBMs J9.

Menschen neu in Java JDK für ihre Plattform herunterladen und Betriebssystem (Oracle JDK steht zum Download bereit hier .)

Jan Bodnar
quelle
1
Dies gilt für Java 6. In der Java 7-Dokumentation heißt es, dass es drei Plattformen gibt und JavaFX Teil von Java SE ist.
Javatar
Java SE dient zur Entwicklung von Desktop-Anwendungen Java EE wird zur Entwicklung von Webanwendungen und großen Unternehmensanwendungen verwendet.
AyukNayr
20

Als ich auf diese Frage stieß, fand ich die Informationen im Oracle-Tutorial sehr vollständig und es lohnt sich, sie zu teilen:

Die Java-Programmiersprachenplattformen

Es gibt vier Plattformen der Programmiersprache Java:

  • Java-Plattform, Standard Edition (Java SE)

  • Java-Plattform, Enterprise Edition (Java EE)

  • Java-Plattform, Micro Edition (Java ME)

  • JavaFX

Alle Java-Plattformen bestehen aus einer Java Virtual Machine (VM) und einer Anwendungsprogrammierschnittstelle (API). Die Java Virtual Machine ist ein Programm für eine bestimmte Hardware- und Softwareplattform, auf dem Java-Technologieanwendungen ausgeführt werden. Eine API ist eine Sammlung von Softwarekomponenten, mit denen Sie andere Softwarekomponenten oder Anwendungen erstellen können. Jede Java-Plattform bietet eine virtuelle Maschine und eine API. Auf diese Weise können für diese Plattform geschriebene Anwendungen auf jedem kompatiblen System mit allen Vorteilen der Java-Programmiersprache ausgeführt werden: Plattformunabhängigkeit, Leistung, Stabilität, einfache Entwicklung und Sicherheit.

Java SE

Wenn die meisten Leute an die Programmiersprache Java denken, denken sie an die Java SE-API. Die API von Java SE bietet die Kernfunktionalität der Programmiersprache Java. Es definiert alles von den Grundtypen und -objekten der Java-Programmiersprache bis hin zu übergeordneten Klassen, die für Netzwerk, Sicherheit, Datenbankzugriff, Entwicklung der grafischen Benutzeroberfläche (GUI) und XML-Analyse verwendet werden.

Neben der Kern-API besteht die Java SE-Plattform aus einer virtuellen Maschine, Entwicklungstools, Bereitstellungstechnologien und anderen Klassenbibliotheken und Toolkits, die üblicherweise in Java-Technologieanwendungen verwendet werden.

Java EE

Die Java EE-Plattform basiert auf der Java SE-Plattform. Die Java EE-Plattform bietet eine API und eine Laufzeitumgebung für die Entwicklung und Ausführung umfangreicher, mehrschichtiger, skalierbarer, zuverlässiger und sicherer Netzwerkanwendungen.

Java ME

Die Java ME-Plattform bietet eine API und eine virtuelle Maschine mit geringem Platzbedarf zum Ausführen von Java-Programmiersprachenanwendungen auf kleinen Geräten wie Mobiltelefonen. Die API ist eine Teilmenge der Java SE-API sowie spezielle Klassenbibliotheken, die für die Entwicklung kleiner Geräteanwendungen nützlich sind. Java ME-Anwendungen sind häufig Clients von Java EE-Plattformdiensten.

JavaFX

JavaFX ist eine Plattform zum Erstellen umfangreicher Internetanwendungen mithilfe einer kompakten Benutzeroberflächen-API. JavaFX-Anwendungen verwenden hardwarebeschleunigte Grafik- und Medien-Engines, um leistungsstärkere Clients und ein modernes Erscheinungsbild sowie APIs auf hoher Ebene für die Verbindung mit vernetzten Datenquellen zu nutzen. JavaFX-Anwendungen können Clients von Java EE-Plattformdiensten sein.

Tarik
quelle
1
kopiert von Orakel Seite :)
Irfan Nasim
1
@ IrfanNasim Ich weiß, dass es von Oracle kopiert wurde und ich habe das erwähnt !! Hast du die Antwort von oben gelesen?! Und wissen Sie, dass Sie in SO, wenn Sie einen Link bereitstellen, auch die wichtigen Informationen kopieren müssen, denn sobald der Link nicht aktuell ist oder nicht funktioniert, können die Leute immer noch lesen, was in dem Link enthalten ist !! Es ist seltsam, dass du 198 Wiederholungen hast und die Regeln immer noch nicht kennst !!
Tarik
13

Ich denke, Java SE (Standard Edition) sollte ich auf meinem Windows 7-Desktop installieren

Ja natürlich . Java SE ist das beste, um damit zu beginnen. Übrigens müssen Sie Java-Grundlagen lernen. Das bedeutet, dass Sie einige der Bibliotheken und APIs in Java SE lernen müssen.

Unterschied zwischen Java Platform Editions:

Java Micro Edition (Java ME):

  • Hochoptimierte Laufzeitumgebung.
  • Zielprodukte für Verbraucher ( Pager , Mobiltelefone).
  • Java ME war früher als Java 2 Platform, Micro Edition oder J2ME bekannt.

Java Standard Edition (Java SE):

Java-Tools, Laufzeiten und APIs für Entwickler, die Applets und Anwendungen schreiben, bereitstellen und ausführen. Java SE war früher als Java 2 Platform, Standard Edition oder J2SE bekannt. (alle / Anfänger ab diesem)

Java Enterprise Edition (Java EE):

Zielt auf serverseitige Anwendungen der Enterprise-Klasse ab . Java EE war früher als Java 2 Platform, Enterprise Edition oder J2EE bekannt.

Eine weitere doppelte Frage für diese Frage.


Zuletzt über J .. Verwirrung

JVM (Java Virtual Machine):

JVM ist Teil des JDK und der JRE, die Java-Bytecodes übersetzen und als nativen Code auf dem Clientcomputer ausführen.

JRE (Java Runtime Environment):

Dies ist die Umgebung, in der die Java-Programme ausgeführt werden können. Es enthält eine JVM, Klassenbibliotheken und andere unterstützende Dateien. Es enthält keine Entwicklungstools wie Compiler, Debugger usw.

JDK (Java Development Kit):

JDK enthält Tools, die zum Entwickeln der Java-Programme (javac, java, javadoc, appletviewer, jdb, javap, rmic, ...) und JRE zum Ausführen des Programms erforderlich sind.

Java SDK (Java Software Development Kit):

Das SDK umfasst ein JDK und zusätzliche Software wie Anwendungsserver, Debugger und Dokumentation.

Java SE:

Mit der Java-Plattform Standard Edition (Java SE) können Sie Java-Anwendungen auf Desktops und Servern (wie SDK) entwickeln und bereitstellen.

J2SE, J2ME, J2EE

Jede Java-Edition von 1.2 bis 1.5

Lesen Sie mehr über diese Themen:

Blasanka
quelle
11

Ja, Java SE ist der Ausgangspunkt. Alle von Ihnen genannten Aufgaben können damit erledigt werden.

Java ME ist die Mobile Edition und EE ist die Enterprise Edition. Dies sind spezialisierte / erweiterte Versionen der Standard Edition.

Péter Török
quelle
7

Ja, Sie sollten mit Java SE beginnen. Java EE ist für Webanwendungen und Java ME für mobile Anwendungen - beide bauen auf SE auf.

Michael
quelle
6

Java SE (Standard Edition) dient zum Erstellen von Desktop-Apps.

Java ME (Micro Edition) ist für alte mobile Geräte.

Java EE (Enterprise Edition) dient zur Entwicklung webbasierter Anwendungen.

Grant Gubatan
quelle
2

Wenn ich Sie wäre, würde ich das Java SE SDK installieren. Stellen Sie nach der Installation sicher, dass die Umgebungsvariable JAVA_HOME festgelegt ist, und fügen Sie Ihrem Pfad das Verzeichnis% JAVA_HOME% \ bin hinzu.

Corv1nus
quelle
1

Entwickler verwenden verschiedene Editionen der Java-Plattform, um Java-Programme zu erstellen, die auf Desktop-Computern, Webbrowsern, Webservern, mobilen Informationsgeräten (z. B. Feature-Telefonen) und eingebetteten Geräten (z. B. TV-Set-Top-Boxen) ausgeführt werden.

Java-Plattform, Standard Edition (Java SE): Die Java-Plattform zum Entwickeln von Anwendungen, bei denen es sich um eigenständige Programme handelt, die auf Desktops ausgeführt werden. Java SE wird auch zum Entwickeln von Applets verwendet, bei denen es sich um Programme handelt, die in Webbrowsern ausgeführt werden.

Java-Plattform, Enterprise Edition (Java EE): Die Java-Plattform für die Entwicklung unternehmensorientierter Anwendungen und Servlets, bei denen es sich um Serverprogramme handelt, die der Servlet-API von Java EE entsprechen. Java EE basiert auf Java SE.

Java-Plattform, Micro Edition (Java ME): Die Java-Plattform für die Entwicklung von MIDlets, bei denen es sich um Programme handelt, die auf mobilen Informationsgeräten ausgeführt werden, und bei Xlets, bei denen es sich um Programme handelt, die auf eingebetteten Geräten ausgeführt werden.

Tapas Pal
quelle
0

Das SE (JDK) verfügt über alle Bibliotheken, die Sie jemals benötigen werden, um auf Java Ihre Zähne zu schneiden. Ich empfehle die Netbeans-IDE, da diese direkt von Oracle mit dem SE (JDK) gebündelt wird. Vergessen Sie nicht, die Variablen "path" und "classpath" festzulegen, insbesondere wenn Sie die Befehlszeile ausprobieren möchten. Fügen Sie bei einem 64-Bit-System den Variablen "Systempfad" ein, z. B. C: \ Programme (x86) \ Java \ jdk1.7.0 vor C: \ Windows \ system32; um das System an Ihr JDK weiterzuleiten.

hoffe das hilft.

user3064248
quelle
0

Java SE wird für Desktop-Anwendungen und einfache Kernfunktionen verwendet. Java EE wird für Desktop-, aber auch Webentwicklungs-, Netzwerk- und erweiterte Funktionen verwendet.

Sandhu
quelle
0

EE: - Enterprise Edition: - Diese Java Edition wurde speziell für Unternehmensanwendungen / Unternehmen entwickelt, bei denen wir uns mit einer Reihe verschiedener Server befassen müssen, die für Sicherheit, Transaktionsmanagement usw. von Bedeutung sind.

SE: - Standard Edition: - Diese Edition ist für Standardanwendungen.

ME: - Micro Edition: - Diese Java Edition wurde speziell für Mobiltelefonplattformen entwickelt. Wo der Speicherverwaltung mehr Bedeutung beigemessen wird, da in Mobiltelefonen nur begrenzte Speicherressourcen vorhanden sind.

Grundsätzlich hat JAVA unterschiedliche Editionen für unterschiedliche Anforderungen.

Romil
quelle