A.2 Pakete der Java SE-Module
Dieser Abschnitt bietet eine Übersicht über alle Pakete von Java SE 17. 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.random |
Erfragen von Zufallszahlen |
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 Garbage Collection) |
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. |