A.2 Pakete der Java SE-Module
Dieser Abschnitt bietet eine Übersicht über alle Pakete von Java SE 14. Die Pakete enthalten rund 4.400 Typen. In Java 1.0 verteilten sich 212 Klassen auf 8 Pakete; damals war es also übersichtlicher. Die wichtigen Pakete sind fett hervorgehoben. Nicht genannt sind SPI-Pakete (SPI steht für Service Provider Implementation); sie definieren Verhalten für Anbieter bestimmter Funktionalitäten. Ebenfalls nicht aufgeführt sind die Pakete aus den Modulen JDK und Java Smart Card I/O.
A.2.1 java.base
Exportiertes Paket | Beschreibung |
---|---|
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 | Automatisch eingebundenes Paket. Enthält unverzichtbare Klassen wie String-, Thread- oder Wrapper-Klassen. |
java.lang.annotation | Dient zur Deklaration eigener Annotationstypen |
java.lang.constant | Beschreibung für Konstanten im Bytecode Constant Pool, seit Java 12 |
java.lang.invoke | Spezielle Typen mit Sonderbehandlung in der JVM |
Modul-Deskriptor aufbauen, Objektmodell | |
java.lang.ref | Behandelt Referenzen. |
java.lang.reflect | Mit Reflection ist es möglich, Klassen und Objekte über sich erzählen zu lassen. |
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/UDP mit dem Internet verbinden lassen. |
java.nio | Neue IO-Implementierung (daher NIO) für performante Ein- und Ausgabe. NIO steht ja für New IO. Eine Aktualisierung ist NIO.2. |
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.security | Klassen und Schnittstellen für Sicherheit |
java.security.acl | Unwichtig, da sie durch Klassen in java.security ersetzt wurden. Daher deprecated und wird in Zukunft gelöscht. |
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.text | Unterstützung für internationalisierte Programme. Behandlung von Text, Formatierung von Datumswerten und Zahlen |
java.time | Kernklassen aus der Date-Time-API |
java.time.chrono | Nicht-ISO-Kalender der Date-Time-API |
java.time.format | Formatieren von Werten aus der Date-Time-API |
Zugriff auf Basiseigenschaften von temporalen Klassen | |
java.time.zone | Zeitzonen aus der Date-Time-API |
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.function | Funktionale Schnittstellen |
java.util.jar | Zugriffe auf Dateien im Archiv-Format JAR (Java Archive) |
java.util.regex | Unterstützung von regulären Ausdrücken |
java.util.stream | Stream-API |
java.util.zip | Zugriff auf komprimierte Daten mit GZip und Archive (ZIP) |
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.net | Klassen mit einer Socket-Fabrik |
javax.net.ssl | SSL-Verschlüsselung |
javax.security.auth | Framework für Authentifizierung und Autorisierung |
javax.security.auth. | Informationen wie Benutzernamen oder Passwort vom Server beziehen |
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 |
A.2.2 java.compiler
Exportiertes Paket | Beschreibung |
---|---|
javax.annotation.processing | Schnittstellen für Annotation Processors |
javax.lang.model | Eine Aufzählung für Java-Versionen |
javax.lang.model.element | Repräsentiert Elemente der Java-Sprache (Methode, Annotation usw.). |
javax.lang.model.type | Repräsentiert Java-Typen (Fehlertyp, Referenztyp usw.). |
javax.lang.model.util | Utility-Klassen für Programmelemente und Typen |
javax.tools | Ansprachen von Java-Tools; im Moment nur der Compiler |
A.2.3 java.datatransfer
Exportiertes Paket | Beschreibung |
---|---|
java.awt.datatransfer | Informationsaustausch zwischen (Java-)Programmen über die Zwischenablage des Betriebssystems |
A.2.4 java.desktop
Exportiertes Paket | Beschreibung |
---|---|
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.desktop | Interaktion mit dem Desktop; seit Java 9 |
java.awt.dnd | Drag & Drop zum Übertragen oder Manipulieren von Informationen unter grafischen Oberflächen |
java.awt.event | Schnittstellen für die verschiedenen Ereignisse unter grafischen Oberflächen |
java.awt.font | Klassen, mit denen Schriftarten genutzt und modifiziert werden können |
Paket für die Java 2D-API, die ähnlich wie im Grafikmodell von PostScript und PDF affine Transformationen auf beliebige 2D-Objekte anwenden kann | |
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 |
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. |
javax.accessibility | Schnittstellen zwischen Eingabegeräten und Benutzerkomponenten |
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 | Lesen und Schreiben von JPEG-Bildern |
javax.imageio.plugins.tiff | Lesen und Schreiben von TIFF-Bildern |
javax.imageio.stream | Unterstützt das Einlesen und Schreiben von Bildern durch die Behandlung der unteren Ebenen. |
javax.print | Java Print Service API |
javax.print.attribute | Attribute (wie Anzahl der Seiten, Ausrichtung) beim Java Print Service |
Druckerattribute | |
javax.print.event | Ereignisse beim Drucken |
javax.sound.midi | Ein- und Ausgabe, Synthetisierung von MIDI-Daten |
javax.sound.sampled | Schnittstellen zur Ausgabe und Verarbeitung von |
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 des Erscheinungsbildes 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 | 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. | Einlesen und Strukturieren von HTML-Dateien |
javax.swing.text.rtf | Editorkomponente für Texte im Rich-Text-Format (RTF) |
Zubehör für die grafische Baumansicht javax.swing.JTree | |
javax.swing.undo | Undo- oder Redo-Operationen, etwa für einen Texteditor |
A.2.5 java.instrument
Exportiertes Paket | Beschreibung |
---|---|
java.lang.instrument | Bezieht der Klassenlader eine Klasse, so wird der Bytecode nicht direkt der JVM übergeben, sondern vorher modifiziert. Das nennt sich Instrumentalisierung. |
A.2.6 java.logging
Exportiertes Paket | Beschreibung |
---|---|
java.util.logging | Protokollieren von Programmabläufen |
A.2.7 java.management
Exportiertes Paket | Beschreibung |
---|---|
java.lang.management | Management-Interfaces zum Monitoring und Management einer JVM oder anderer Komponenten |
javax.management | Zentrale Typen für Java Management Extensions (JMX) |
javax.management.loading | Fortgeschrittenes dynamisches Laden ermöglichen |
javax.management.modelmbean | Beschreibung von Model-MBeans |
javax.management.monitor | Monitorklassen beobachten Model-Beans. |
javax.management.openmbean | Definition von Open Data Types und der Open MBean |
javax.management.relation | Verbindet MBeans im MBean-Server. |
javax.management.remote | Remote-Zugriff auf einen JMX-MBean-Server |
javax.management.timer | Timer-MBean meldet nach Zeitablauf Ereignisse. |
A.2.8 java.management.rmi
Exportiertes Paket | Beschreibung |
---|---|
javax.management.remote.rmi | Sorgt über RMI für Remote-Zugriff auf MBean-Server. |
A.2.9 java.naming
Exportiertes Paket | Beschreibung |
---|---|
javax.naming | Zugriff auf Namensdienste |
javax.naming.directory | Zugriff auf Verzeichnisdienste, erweitert das |
javax.naming.event | Ereignisse, wenn sich etwas beim Verzeichnisdienst ändert |
javax.naming.ldap | Unterstützung von LDAPv3-Operationen |
A.2.10 java.net.http
Exportiertes Paket | Beschreibung |
---|---|
java.net.http | HTTP- und WebSocket-Client |
A.2.11 java.prefs
Exportiertes Paket | Beschreibung |
---|---|
java.util.prefs | Verwalten von Benutzer- und Systemeigenschaften |
A.2.12 java.rmi
Exportiertes Paket | Beschreibung |
---|---|
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 |
Zugriff auf den Namensdienst unter RMI, die Registry | |
java.rmi.server | Die Serverseite von RMI |
javax.rmi.ssl | Mit SSL mehr Sicherheit bei RMI-Verbindungen |
A.2.13 java.scripting
Exportiertes Paket | Beschreibung |
---|---|
javax.script | Scripting-API zum Einbinden von Skriptsprachen |
A.2.14 java.security.jgss
Exportiertes Paket | Beschreibung |
---|---|
javax.security.auth.kerberos | Unterstützung von Kerberos zur Authentifizierung in Netzwerken |
org.ietf.jgss | Framework für Sicherheitsdienste wie Authentifizierung, Integrität, Vertraulichkeit |
A.2.15 java.security.sasl
Exportiertes Paket | Beschreibung |
---|---|
javax.security.sasl | Unterstützung für SASL (Simple Authentication and Security Layer) |
A.2.16 java.sql
Exportiertes Paket | Beschreibung |
---|---|
java.sql | Zugriff auf relationale Datenbanken über SQL |
javax.sql | Datenquellen auf Serverseite |
javax.transaction.xa | Typen für verteilte Transaktionen |
A.2.17 java.sql.rowset
Exportiertes Paket | Beschreibung |
---|---|
javax.sql.rowset | Implementierung von RowSet |
javax.sql.rowset.serial | Mappt SQL-Typen auf serialisierbare Java-Typen. |
A.2.18 java.transaction.xa
Exportiertes Paket | Beschreibung |
---|---|
javax.transaction.xa | Unterstützung verteilter Transaktionen in JDBC |
A.2.19 java.xml
Exportiertes Paket | Beschreibung |
---|---|
javax.xml | Konstanten aus der XML-Spezifikation |
javax.xml.catalog | Catalog-API; seit Java 9 |
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.stream | StAX-API für XML-Pull-Parser |
javax.xml.stream.events | Nur Schnittstellen für StAX-Event-Modus |
javax.xml.stream.util | Schnittstelle 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 |
javax.xml.validation | Validation nach einem Schema |
XPath-API | |
org.w3c.dom | Klassen für die Baumstruktur eines XML-Dokuments nach DOM-Standard |
org.w3c.dom.bootstrap | Enthält Fabrik zum Erfragen einer DOM-Implementation. |
org.w3c.dom.events | DOM-Events |
org.w3c.dom.ls | Laden und Speichern von XML-Strukturen |
org.w3c.dom.ranges | Unterstützung für DOM Level 2 Range |
org.w3c.dom.traversal | Unterstützung für DOM Level 2 Traversal |
org.w3c.dom.views | Für DOM-Ansichten |
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 |
A.2.20 java.xml.crypto
Exportiertes Paket | Beschreibung |
---|---|
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.dsig | Unterstützt digitale XML-Signaturen. Hat spezielle Unterpakete dom, keyinfo und spec. |