EMZETT.
Login

Java-Editionen: SE, EE, ME und Jakarta EE

Kurz: Java gibt es in mehreren „Editionen” für verschiedene Einsatzzwecke: SE (Standard Edition) für normale Programme, EE (Enterprise Edition, heute Jakarta EE) für große Server-Anwendungen und ME (Micro Edition) für kleine Geräte.

Genauer: Alle Editionen nutzen dieselbe Sprache und dieselbe Virtuelle Maschine. Sie unterscheiden sich in den mitgelieferten Bibliotheken (APIs). SE ist die Grundlage, EE und ME bauen darauf auf oder schränken sie ein.

Im Detail

EditionZweckBeispiele
Java SEDesktop-, Kommandozeilen- und Server-Programme, Kern der SpracheCollections, I/O, Threads, Streams, Netzwerk
Jakarta EE (früher Java EE)Unternehmens-WebanwendungenServlets, JPA (Datenbanken), CDI, REST (JAX-RS), Transaktionen
Java MEEingebettete Geräte, alte Handys, SensorenStark verkleinerte Bibliothek
  • Umbenennung: Oracle übergab Java EE 2017 an die Eclipse Foundation. Aus rechtlichen Gründen heißt es seit Version 9 Jakarta EE. Dabei wurden die Pakete von javax.* auf jakarta.* umgestellt. Das bricht Altcode, der beim Update angepasst werden muss.
  • Spezifikation und Umsetzung: Jakarta EE ist nur eine Beschreibung. Umgesetzt wird sie von Anwendungsservern wie WildFly, Payara, Open Liberty oder von Servlet-Containern wie Tomcat.
  • Spring: Das verbreitete Spring-Framework ist keine EE-Edition, nutzt aber viele der gleichen Konzepte. Spring Boot 3 setzt auf jakarta.*.
  • ME heute: Spielt kaum noch eine Rolle. Android nutzt eigene Bibliotheken, und für eingebettete Geräte gibt es Java SE Embedded, GraalVM oder andere Sprachen.
  • Welche brauche ich? Zum Lernen und für die meisten Programme genügt das JDK (SE).

Siehe auch: JDK, JRE (Java Runtime Environment), Packages/API