Zum Inhalt springen

Java Platform, Standard Edition

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. Juli 2005 um 10:39 Uhr durch Jpp (Diskussion | Beiträge) (Grundlegende Programmierschnittstellen). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Java 2 Platform, Standard Edition (abgekürzt J2SE, deutsch "Java-Plattform, Standardausgabe") ist eine Sammlung von Java-APIs. Die J2SE dient als Grundlage für die J2EE und J2ME-Technologien, mit denen Unternehmensanwendung bzw. Anwendungen für mobile Geräte erstellt werden können. Die 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. Im Jahr 2005 wurde eine erneute Änderung der Titulatur beschlossen: die "2" fällt wieder weg, es heißt also JSE, JME bzw. JEE.

Grundlegende Programmierschnittstellen

Die grundlegendsten Klassenbibliotheken sind in den Paketen java.lang und java.util definiert, Ein- und Ausgaben im Paket java.io.

Fundamentale Klassen (java.lang)

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 Selbstreflektion (Reflection) bildet.
  • Wrapper um grundlegende Datentypen, wie z.B. Boolean, Character oder Integer.
  • 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 Programiersprache ist.

Klassen für Datenstrukturen, Zeitangaben und Internationalisierung (java.util)

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.

  • Eine Menge von sogenannten Collection-Klassen, die eine Hierarchie von fertig implementierten Datenstrukturen bilden.
  • Die Klasse Date, die einen Zeitpunkt repräsentiert und die Klasse Calendar, 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.

Die Abkürzung "util" steht für englisch utility, was so viel wie "Nützlichkeit" bedeutet.

Klassen für Ein- und Ausgaben (java.io)

Das Paket java.io enthält Klassen für Ein- und Ausgaben (englisch input und output, daher "io"), hauptsächlich sogenannte Streams (deutsch "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") und Writer (deutsch "Schreiber") eingeführt.