Java Platform, Standard Edition
Die Java Platform, Standard Edition oder kurz Java SE (deutsch „Java-Plattform, Standardausgabe“ – bis Version 5.0 „Java 2 Platform, Standard Edition“, J2SE [Java-APIs. Die Java SE dient als Grundlage sowohl für die Java Platform, Enterprise Edition (Java EE), mit denen Anwendungen für Unternehmen erstellt werden, als auch für die einfachere Java Platform, Micro Edition (Java-ME) für mobile Geräte. Die aktuelle Version 22 erschien im März 2024.[1]
]) ist eine Sammlung vonVersionsbezeichnungen
BearbeitenDie Zahl „2“ in J2SE steht für Java 2. Aufgrund der Fortschritte in der Version 1.2 von Java entschloss sich Sun Microsystems 1998, Java-Versionen ab Java 1.2 als „Java 2“ zu bewerben, kehrte mit Version 6 dann aber wieder zur ursprünglichen Bezeichnung „Java“ bzw. „Java SE“ ohne nachstehende „2“ zurück. Auch die Versionsnummern durchliefen mehrere Veränderungen: So wurde aus Version 1.5.0 (veröffentlicht im September 2004) durch Weglassen der vorstehenden „1“ „J2SE 5.0“, mit Version 6 verzichtete man außerdem noch auf das „.0“ am Ende der Versionsnummer.
Folgende Tabelle fasst die Bezeichnungen für die verschiedenen Java-Versionen noch einmal zusammen:
Versionsnummer | < 1.2 | 1.2 .. 1.4.2 | 5.0 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bezeichnung | Java | Java 2 (J2SE) | Java 2 SE 5.0 (J2SE 5.0) | Java SE 6 | Java SE 7 | Java SE 8 | Java SE 9 | Java SE 10 | Java SE 11 | Java SE 12 | Java SE 13 | Java SE 14 | Java SE 15 | Java SE 16 |
Ausführliche Versionsinformationen stehen in Java-Technologie.
Programmierschnittstellen
BearbeitenDas Java-SE-6-API besteht aus:
- lang & util Base Libraries (siehe unten)
- Höheren Base Libraries (I/O, JNI, Serialisierung, …)
- User Interface Toolkits (AWT, Swing, Java 2D)
- Integration Libraries (IDL, JDBC, JNDI, RMI, RMI-IIOP)
Die grundlegendsten Klassenbibliotheken sind in den Paketen java.lang
und java.util
definiert, Ein- und Ausgaben im Paket java.io
. Im Folgenden werden die wichtigsten Pakete und Klassen kurz erläutert, für weitergehende Informationen siehe die englische Javadoc-Originaldokumentation von Oracle.
Fundamentale Klassen (java.lang
)
Bearbeiten
Das Paket java.lang
und dessen Unterpakete definieren Klassen, die für die grundlegendsten Mechanismen der Programmiersprache Java benötigt werden.
- Die absolute Basisklasse
Object
, von der alle anderen Klassen und Schnittstellen abgeleitet sind. - Die Metaklasse
Class
, die die Grundlage für den Mechanismus der Selbstreflexion (Reflection) bildet. - Wrapper um grundlegende Datentypen, wie z. B.
Boolean
,Character
oderInteger
. - Die Klasse
String
für Zeichenketten. - Die Klasse
System
dient zum Abfragen von Umgebungsvariablen und sogenannten System-Properties. Die System-Properties sind Systemeigenschaften, wie zum Beispiel die Version der Java-Laufzeitumgebung. Es können aber auch per Kommandozeile beim Aufruf des Java-Programms beliebige zusätzliche „Systemeigenschaften“ definiert werden.
Die Abkürzung „lang“ steht für englisch language, also „Sprache“, weil es grundlegend für die Programmiersprache ist.
Klassen für Datenstrukturen, Zeitangaben und Internationalisierung (java.util
)
Bearbeiten
Im Paket java.util
sind verschiedene Klassen definiert, die zwar weniger grundlegend als die in java.lang
definierten sind, aber ebenfalls für praktisch jedes Java-Programm benötigt werden. Die Abkürzung „util
“ steht für englisch utility, was so viel wie „nützliches Werkzeug“ bedeutet.
- Eine Menge von sogenannten
Collection
-Klassen, die eine Hierarchie von fertig implementierten Datenstrukturen bilden. - Die Klasse
Date
, die einen Zeitpunkt repräsentiert und die KlasseCalendar
, die Kalenderberechnungen durchführen kann. - Die Klasse
ResourceBundle
(deutsch „Ressourcenbündel“), die eine Menge sogenannter „Ressourcen“ darstellt. Ressourcen in diesem Sinne sind Texte, Bilder und andere Objekte, die für verschiedensprachige Programmversionen angepasst werden können. Dies ermöglicht die Entwicklung von Programmen für den Einsatz in verschiedenen Ländern, ohne dass der eigentliche Programmcode für jedes einzelne Land geändert werden muss. - Die Klasse
Properties
, die unter anderem benannte String-Werte aus einer Textdatei lesen kann. Diese Textdateien heißen Java-Properties-Dateien und werden häufig als einfacher Konfigurationsmechanismus verwendet. Sie liegen auch einer Implementierung der Ressourcenbündel zu Grunde. - Das Paket
java.util.zip
enthält Klassen, die komprimierte Dateien erzeugen und verarbeiten können. Es unterstützt die Formate ZIP und gzip bzw. deren Kompressionsalgorithmen. - Das Paket
java.util.jar
unterstützt die Erzeugung und Verarbeitung von Java Archives (JAR-Dateien). - Das Paket
java.util.regex
unterstützt Reguläre Ausdrücke (regular expressions) zum Auffinden von Mustern in Strings. Auch die String-Klasse nutzt diese Funktionalität, z. B. in einer Methode „matches
“.
Klassen für Ein- und Ausgaben (java.io
)
Bearbeiten
Das Paket java.io
enthält Klassen für Ein- und Ausgaben (englisch input und output, daher „io“), hauptsächlich sogenannte Streams (deutsch „(Daten-)Ströme“).
- Die abstrakte Klasse
InputStream
ist die Basisklasse aller Eingabeströme. Diese lesen z. B. Eingaben von der Tastatur oder aus einer Datei. - Die abstrakte Klasse
OutputStream
ist die Basisklasse aller Ausgabeströme. Diese schreiben z. B. Zeichen auf den Bildschirm oder in eine Datei. - Die Streams wurden bereits in der ersten Version von Java eingeführt und verarbeiten Bytes. Speziell für die Ein- und Ausgabe von Unicode-Zeichen wurden später die Klassen
Reader
(deutsch „Leser“) undWriter
(deutsch „Schreiber“) eingeführt.
Weitere wichtige Pakete
Bearbeiten- java.awt – Abstract Window Toolkit, Grafikausgabe und Nutzung grafischer Benutzeroberflächen
- java.nio – erweiterte Funktionen für Ein- und Ausgabe, ermöglichen leistungsfähigere Implementierung
- java.net – URLs, Socket und andere Klassen für den Zugriff auf Computernetze
- java.rmi – Remote Method Invocation für entfernte Methodenaufrufe
- java.text – Formatierung von Datumswerten, Zahlen und anderem
- java.math – ganze Zahlen und Festkommazahlen mit unbegrenzter Genauigkeit
- javax.net – enthält eine abstrakte Fabrik zum Erzeugen spezialisierter Sockets
- javax.naming – JNDI-Zugriff auf Namensdienste
- javax.print – Ausgabe auf Drucker
- javax.swing – Swing, erweiterte GUI-Komponenten
- javax.xml.bind – XML-Binding mittels JAXB
- javax.xml.stream – Streaming API for XML, Pull-Parser für XML
- javax.xml.xpath – Verarbeitung von XPath-Ausdrücken
- org.w3c.dom – Document Object Model für die Darstellung von XML-Dokumenten als Objektbaum
Weblinks
Bearbeiten- Allgemeine Informationen zu Java SE
- Die API-Dokumentation für Java SE 6
- Java Platform, Standard Edition Documentation. Abgerufen am 28. Dezember 2020 (englisch). (für Version 7 bis 15)
Quellen
Bearbeiten- ↑ Oracle releases Java 22. 19. März 2024, abgerufen am 23. Mai 2024 (amerikanisches Englisch).