A Die Klassenbibliothek
»Einer der Vorteile der Unordentlichkeit liegt darin, dass man dauernd tolle Entdeckungen
macht.«
– Alan Alexander Milne (1882–1956)
Es folgt eine Übersicht über die mehr als 200 Pakete, die Java 7 deklariert. Sie beschreiben zusammen 3.777 Typen, davon 2.457 Klassen, 972 Schnittstellen, 49 Aufzählungen, 473 Ausnahmeklassen und 32 Errorklassen. Insgesamt gibt es 1.482 Objektvariablen, 4.408 statische Variablen bzw. Konstanten, 21.881 Objektmethoden in Klassen und 5.226 aus Schnittstellen, 3.039 Klassenmethoden sowie 4.973 Konstruktoren. (In Java 1.0 verteilten sich 212 Klassen auf 8 Pakete.) Die wichtigen Pakete sind fett hervorgehoben.
java.lang | ein Paket, das automatisch eingebunden ist und unverzichtbare Klassen wie String-, Thread- oder Wrapper-Klassen enthält |
java.lang.annotation | Unterstützung für die in Java 5 hinzugekommenen Annotationen |
java.lang.instrument | Bezieht der Klassenlader eine Klasse, so wird der Bytecode nicht direkt der JVM übergeben, sondern vorher modifiziert. Das nennt sich Instrumentalisierung. |
java.lang.management | Überwachung der virtuellen Maschine |
java.lang.ref | Behandelt Referenzen. |
java.lang.reflect | Mit Reflection ist es möglich, Klassen und Objekte über sich erzählen zu lassen. |
java.applet | Stellt Klassen für Java-Applets bereit, damit diese auf Webseiten ihr Leben führen können. |
java.awt | Das Paket AWT (Abstract Windowing Toolkit) bietet Klassen zur Grafikausgabe und zur Nutzung von grafischen Bedienoberflächen. |
java.awt.color | Unterstützung von Farbräumen und Farbmodellen |
java.awt.datatransfer | Informationsaustausch zwischen (Java-)Programmen über die Zwischenablage des Betriebssystems |
java.awt.dnd | Drag&Drop, um unter grafischen Oberflächen Informationen zu übertragen oder zu manipulieren |
java.awt.event | Schnittstellen für die verschiedenen Ereignisse unter grafischen Oberflächen |
java.awt.font | Klassen, mit denen Zeichensätze genutzt und modifiziert werden können |
java.awt.geom | Paket für die Java 2D-API, um ähnlich wie im Grafikmodell von PostScript beziehungsweise PDF affine Transformationen auf beliebige 2D-Objekte anwenden zu können |
java.awt.im | Klassen für alternative Eingabegeräte |
java.awt.image | Erstellen und Manipulieren von Rastergrafiken |
java.awt.image.renderable | Klassen und Schnittstellen zum allgemeinen Erstellen von Grafiken |
java.awt.print | Bietet Zugriff auf Drucker und kann Druckaufträge erzeugen. |
java.beans | JavaBeans definieren wiederverwendbare Komponenten auf der Client-Seite, die beim Programmieren visuell konfiguriert werden können. |
java.beans.beancontext | Beans lassen sich in einem Bean-Kontext zusammenbringen. |
java.io | Möglichkeiten zur Ein- und Ausgabe. Dateien werden als Objekte repräsentiert. Datenströme erlauben den sequenziellen Zugriff auf die Dateiinhalte. |
java.lang.invoke | Unterstützung für dynamische Programmiersprachen |
java.math | beliebig lange Ganzzahlen oder Fließkommazahlen |
java.net | Kommunikation über Netzwerke. Bietet Klassen zum Aufbau von Client- und Serversystemen, die sich über TCP beziehungsweise IP mit dem Internet verbinden lassen. |
java.nio | neue IO-Implementierung (daher NIO[231](NIO steht ja für New IO. Eine Aktualisierung ist NIO.2.)) für performante Ein- und Ausgabe |
java.nio.channels | Datenkanäle für nicht blockierende Ein- und Ausgabeoperationen |
java.nio.charset | Kodierungen für die Übersetzung zwischen Byte- und Unicode-Zeichen |
java.nio.file | NIO.2-Dateisysteme, Datei- und Pfadzugriff |
java.nio.file.attribute | Datei- und Dateisystemattribute |
java.rmi | Aufruf von Methoden auf entfernten Rechnern |
java.rmi.activation | Unterstützung für die RMI-Aktivierung, wenn Objekte auf ihren Aufruf warten |
java.rmi.dgc | der verteilte Garbage-Collector DGC (Distributed Garbage Collection) |
java.rmi.registry | Zugriff auf den Namensdienst unter RMI, die Registry |
java.rmi.server | die Serverseite von RMI |
java.security | Klassen und Schnittstellen für Sicherheit |
java.security.acl | unwichtig, da sie durch Klassen in java.security ersetzt wurden |
java.security.cert | Analysieren und Verwalten von Zertifikaten, Pfaden und Rückruf (Verfall) von Zertifikaten |
java.security.interfaces | Schnittstellen für RSA- und DSA-Schlüssel |
java.security.spec | Parameter der Schlüssel und Algorithmen für die Verschlüsselung |
java.sql | Zugriff auf relationale Datenbanken über SQL |
java.text | Unterstützung für internationalisierte Programme. Behandlung von Text, Formatierung von Datumswerten und Zahlen. |
java.util | Datenstrukturen, Raum und Zeit sowie Teile der Internationalisierung, Zufallszahlen |
java.util.concurrent | Hilfsklassen für nebenläufiges Programmieren, etwa Thread-Pools |
java.util.concurrent.atomic | atomare Operationen auf Variablen |
java.util.concurrent.locks | Lock-Objekte zum Sperren kritischer Bereiche |
java.util.jar | Zugriffe auf Dateien im Archiv-Format JAR (Java Archive) |
java.util.logging | Protokollieren von Programmabläufen |
java.util.prefs | Verwalten von Benutzer- und Systemeigenschaften |
java.util.regex | Unterstützung von regulären Ausdrücken |
java.util.zip | Zugriff auf komprimierte Daten mit GZIP und Archive (ZIP) |
javax.accessibility | Schnittstellen zwischen Eingabegeräten und Benutzerkomponenten |
javax.activation | JavaBeans Activation Framework. Findet unter anderem MIME-Typen. |
javax.activity | drei Ausnahmen im Fall von CORBA-Fehlern |
javax.annotation | zentrale Annotationen, etwa für Injizierung oder Lebenszyklus |
javax.annotation.processing | Schnittstellen für Annotation Processors |
javax.crypto | Klassen und Schnittstellen für kryptografische Operationen |
javax.crypto.interfaces | Schnittstellen für Diffie-Hellman-Schlüssel |
javax.crypto.spec | Klassen und Schnittstellen für Schlüssel und Parameter zur Verschlüsselung |
javax.imageio | Schnittstellen zum Lesen und Schreiben von Bilddateien in verschiedenen Formaten |
javax.imageio.event | Ereignisse, die während des Ladens und Speicherns bei Grafiken auftauchen |
javax.imageio.metadata | Unterstützung für beschreibende Metadaten in Bilddateien |
javax.imageio.plugins.bmp | Klassen, die das Lesen und Schreiben von BMP-Bilddateien unterstützen |
javax.imageio.plugins.jpeg | Klassen, die das Lesen und Schreiben von JPEG-Bilddateien unterstützen |
javax.imageio.stream | Unterstützt das Einlesen und Schreiben von Bildern durch die Behandlung der unteren Ebenen. |
javax.jws | Annotationen für Web-Services |
javax.jws.soap | nur Annotation und Aufzählungen für SOAP-Binding |
javax.lang.model | eine Aufzählung für Java-Versionen |
javax.lang.model.element | Repräsentiert Elemente der Java-Sprache (Methode, Annotation ...). |
javax.lang.model.type | Repräsentiert Java-Typen (Fehlertyp, Referenztyp usw.). |
javax.lang.model.util | Utility-Klassen für Programmelemente und Typen |
javax.management | Management-API (JMX) mit einigen Unterpaketen |
javax.management.loading | Unterstützt dynamisch geladene Klassen. |
javax.management.modelmbean | Beschreibung von Model-MBeans |
javax.management.monitor | zur Beobachtung von MBeans |
javax.management.openmbean | Definition der Open MBean als spezielle MBean |
javax.management.relation | Verbindet MBeans im MBean-Server. |
javax.management.remote | Remote-Zugriff auf einen JMX-MBean Server |
javax.management.remote.rmi | über RMI Remote-Zugriff auf MBean-Server |
javax.management.timer | Timer MBean meldet nach Zeitablauf Ereignisse. |
javax.naming | Zugriff auf Namensdienste |
javax.naming.directory | Zugriff auf Verzeichnisdienste, erweitert das javax.naming-Paket. |
javax.naming.event | Ereignisse, wenn sich etwas beim Verzeichnisdienst ändert |
javax.naming.ldap | Unterstützung von LDAPv3-Operationen |
javax.net | Klassen mit einer Socket-Fabrik |
javax.net.ssl | SSL-Verschlüsselung |
javax.print | Java Print Service API |
javax.print.attribute | Attribute (wie Anzahl der Seiten, Ausrichtung) beim Java Print Service |
javax.print.attribute.standard | Standard für einige Drucker-Attribute |
javax.print.event | Ereignisse beim Drucken |
javax.rmi | Nutzen von RMI über das CORBA-Protokoll RMI-IIOP |
javax.rmi.CORBA | Unterstützt Portabilität von RMI-IIOP. |
javax.rmi.ssl | mit SSL mehr Sicherheit bei RMI-Verbindungen |
javax.script | Scripting-API zum Einbinden von Skriptsprachen |
javax.security.auth | Framework für Authentifizierung und Autorisierung |
javax.security.auth.callback | Informationen wie Benutzernamen oder Passwort vom Server beziehen |
javax.security.auth.kerberos | Unterstützung von Kerberos zur Authentifizierung in Netzwerken |
javax.security.auth.login | Framework für die Authentifizierungsdienste |
javax.security.auth.x500 | Für X.509-Zertifikate, X.500 Principal und X500 PrivateCredential |
javax.security.cert | Public-Key-Zertifikate |
javax.security.sasl | Unterstützung für SASL (Simple Authentication and Security Layer) |
javax.sound.midi | Ein- und Ausgabe, Synthetisierung von MIDI-Daten |
javax.sound.sampled | Schnittstellen zur Ausgabe und Verarbeitung von Audio-Daten |
javax.sql | Datenquellen auf Serverseite |
javax.sql.rowset | Implementierung von RowSet |
javax.sql.rowset.serial | Mappt SQL-Typen auf serialisierbare Java-Typen. |
javax.swing | einfache Swing-Komponenten |
javax.swing.border | grafische Rahmen für die Swing-Komponenten |
javax.swing.colorchooser | Anzeige vom JColorChooser, einer Komponente für die Farbauswahl |
javax.swing.event | Ereignisse der Swing-Komponenten |
javax.swing.filechooser | Dateiauswahldialog unter Swing: JFileChooser |
javax.swing.plaf | Unterstützt auswechselbares Äußeres bei Swing durch abstrakte Klassen. |
javax.swing.plaf.basic | Basisimplementierung vom Erscheinungsbild der Swing-Komponenten |
javax.swing.plaf.metal | plattformunabhängiges Standarderscheinungsbild von Swing-Komponenten |
javax.swing.plaf.multi | Benutzerschnittstellen, die mehrere Erscheinungsbilder kombinieren |
javax.swing.plaf.nimbus | neuer Nimbus-Look-And-Feel |
javax.swing.plaf.synth | Swing-Look-and-Feel aus XML-Dateien |
javax.swing.table | Typen rund um die grafische Tabellenkomponente javax.swing.JTable |
javax.swing.text | Unterstützung für Textkomponenten |
javax.swing.text.html | HTMLEditorKit zur Anzeige und Verwaltung eines HTML-Texteditors |
javax.swing.text.html.parser | Einlesen, Visualisieren und Strukturieren von HTML-Dateien |
javax.swing.text.rtf | Editorkomponente für Texte im Rich-Text-Format (RTF) |
javax.swing.tree | Zubehör für die grafische Baumansicht javax.swing.JTree |
javax.swing.undo | Undo- oder Redo-Operationen, etwa für einen Texteditor |
javax.tools | Ansprachen von Java-Tool; im Moment nur der Compiler |
javax.transaction | Ausnahmen bei Transaktionen |
javax.transaction.xa | Beziehung zwischen Transactions-Manager und Resource-Manager für Java Transaction API (JTA), besonders für verteilte Transaktionen (Distributed Transaction Processing: The XA Specification) |
javax.xml | Konstanten aus der XML-Spezifikation |
javax.xml.bind | JAXB-Typen zum Binden von XML-Strukturen an Objekte |
javax.xml.bind.annotation | im Wesentlichen JAXB 2.0-Annotationen |
javax.xml.bind.annotation.adapters | zur Behandlung von beliebigen Java-Klassen, die JAXB auf XML-Strukturen abbilden |
javax.xml.bind.attachment | Attachements von JAXB |
javax.xml.bind.helpes | nur für Implementierer eines JAXB-Providers |
javax.xml.bind.util | Utility-Klassen für JAXB |
javax.xml.crypto | Klassen für XML-Signaturen oder zur Verschlüsselung von XML-Daten |
javax.xml.crypto.dom | DOM-spezifische Klassen |
javax.xml.crypto.dis | Unterstützt digitale XML-Signaturen. Hat Unterpakete. |
javax.xml.datatype | Schema-Datentypen für Dauer und gregorianischen Kalender |
javax.xml.namespace | QName für den Namensraum |
javax.xml.parsers | Einlesen von XML-Dokumenten |
javax.xml.soap | Aufbau von SOAP-Nachrichten |
javax.xml.stream | StAX-API für XML Pull-Parser |
javax.xml.stream.events | nur Schnittstellen für StAX-Event-Modus |
javax.xml.stream.util | für einen StAX-Parser |
javax.xml.transform | allgemeine Schnittstellen zur Transformation von XML-Dokumenten |
javax.xml.transform.dom | Quelle oder Ziel der Transformation ist DOM. |
javax.xml.transform.sax | Quelle oder Ziel der Transformation ist SAX. |
javax.xml.transform.stax | Quelle oder Ziel der Transformation ist StAX. |
javax.xml.transform.stream | Transformationen auf der Basis von linearisierten XML-Dokumenten |
javax.xml.validation | Validation nach einem Schema |
javax.xml.ws | JAX-WS API mit diversen Unterpakten |
javax.xml.xpath | XPath API |
org.ietf.jgss | Framework für Sicherheitsdienste wie Authentifizierung, Integrität, Vertraulichkeit |
org.w3c.dom | Klassen für die Baumstruktur eines XML-Dokuments nach DOM-Standard |
org.w3c.dom.events | DOM-Events |
org.w3c.dom.ls | Laden und speichern von XML-Strukturen |
org.xml.sax | Ereignisse, die beim Einlesen eines XML-Dokuments nach dem SAX-Standard auftreten |
org.xml.sax.ext | zusätzliche Behandlungsroutinen für SAX2?Ereignisse |
org.xml.sax.helpers | Adapterklassen und Standardimplementierungen |
Daneben deklariert das Paket org.omg eine Reihe von Unterpaketen mit CORBA-Diensten, die für unsere Betrachtung jedoch zu speziell sind. SPI-Pakete (SPI steht für Service Provider Implementation) definieren Verhalten für Anbieter bestimmter Funktionalitäten und sind ebenfalls nicht genannt. Nicht in der Tabelle ist auch javax.smartcardio, was seit Java 6 mit an Bord ist, aber nicht in der Standard-Dokumentation genannt wird. Es enthält die Java Smart Card I/O API und dient zum Ansprechen von Kartenlesern.[232](http://java.sun.com/javase/6/docs/jre/api/security/smartcardio/spec/javax/smartcardio/package-summary.html)
A.1 java.lang-Paket

A.1.1 Schnittstellen

Appendable | An die Typen lassen sich Zeichen oder Zeichenketten anhängen. |
AutoCloseable | Ressourcen, die über einen speziellen try-Block automatisch geschlossen werden können |
CharSequence | Repräsentiert Typen, die lesenden Zugriff auf Zeichen- und Zeichenfolgen erlauben. |
Cloneable | Markiert Klassen, deren Exemplare sich klonen lassen. |
Comparable | Erlaubt das Vergleichen. |
Iterable | Kann einen Iterator liefern. |
Readable | Liefert aus einer Ressource Zeichen bzw. Zeichenfolgen. |
Runnable | Programmcode, den ein Thread starten kann |
Thread.UncaughtExceptionHandler | An den Thread gehängt, fängt es Laufzeitfehler ab. |
A.1.2 Klassen
Boolean | Wrapper-Klasse für boolean |
Byte | Wrapper-Klasse für byte |
Character | Wrapper-Klasse für char |
Character.Subset | Unicode-Zeichenbereich |
Character.UnicodeBlock | rund 200 konkrete Unicode-Zeichenbereiche |
Class | Typen in der Laufzeitumgebung |
ClassLoader | Klassenlader |
ClassValue | Verbindet einen Wert mit einem Klassentyp. |
Compiler | nur für den JIT-Compiler nötig |
Double | Wrapper-Klasse für double |
Enum | Basisklasse für Aufzählungen |
Float | Wrapper-Klasse für float |
InheritableThreadLocal | Verbindet Werte mit einem Thread. |
Integer | Wrapper-Klasse für int |
Long | Wrapper-Klasse für long |
Math | Utility-Klasse für numerische Operationen |
Number | Basisklasse für numerische Typen |
Object | absolute Basisklasse aller Java-Klassen |
Package | Informationen eines Java-Pakets |
Process | Kontrolle extern gestarteter Programme |
ProcessBuilder | Optionen für externes Programm bestimmen |
ProcessBuilder.Redirect | Umlenkung für externes Programm definieren |
Runtime | Klasse mit diversen Systemmethoden |
RuntimePermission | Rechte mit Laufzeiteigenschaften |
SecurityManager | Sicherheitsmanager |
Short | Wrapper-Klasse für short |
StackTraceElement | Element für den Strack-Trace |
StrictMath | numerische Operationen strikt gerechnet |
String | immutable Zeichenketten |
StringBuffer | veränderbare nicht threadsichere Zeichenketten |
StringBuilder | veränderbare threadsichere Zeichenketten |
System | Utility-Klasse mit diversen Klassenmethoden |
Thread | nebenläufige Programme |
ThreadGroup | Gruppiert Threads. |
ThreadLocal | Verbindet Werte mit einem Thread. |
Throwable | Basistyp für Ausnahmen |
Void | spezieller Typ für void-Rückgabe |
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.