A Java SE-Module und Paketübersicht
»Einer der Vorteile der Unordentlichkeit liegt darin, dass man dauernd tolle Entdeckungen macht.«
– Alan Alexander Milne (1882–1956)
A.1 Alle Module von Java 14
A.1.1 Java SE-Module
Die API der Java Platform, Standard Edition (»Java SE«) besteht aus folgenden Modulen, die alle mit dem Präfix java beginnen.
Modul | Beschreibung |
---|---|
java.base | Fundamentale Typen der Java-SE-Plattform |
java.compiler | Java-Sprachmodell, Annotationsverarbeitung, Java Compiler API |
java.datatransfer | API für den Datentransfer zwischen Applikationen, in der Regel die Zwischenablage |
java.desktop | Grafische Oberflächen mit AWT und Swing, Accessibility-API, Audio, Drucken und JavaBeans |
java.instrument | Intrumentalisierung ist die Veränderung der Java-Programme zur Laufzeit. |
java.logging | Logging-API |
java.management | Java Management Extensions (JMX) |
java.management.rmi | RMI-Connector für den Remote-Zugriff auf die JMX-Beans |
java.naming | Java Naming and Directory Interface (JNDI) API |
java.net.http | HTTP- und WebSocket-Client |
Die Preferences API dient zum Speichern von Benutzereinstellungen. | |
java.rmi | Entfernte Methodenaufrufe; Remote Method Invocation (RMI) API |
java.se | API der Java-SE-Plattform |
java.security.jgss | Java-Binding der IETF Generic Security Services API (GSS-API) |
java.security.sasl | Java-Unterstützung für IETF Simple Authentication and Security Layer (SASL) |
java.sql | JDBC API für den Zugriff auf relationale Datenbanken |
java.sql.rowset | JDBC RowSet API |
java.transaction.xa | Unterstützung verteilter Transaktionen in JDBC |
java.xml | XML-Klassen:
|
java.xml.crypto | API für XML-Kryptografie |
Das java.base-Modul ist das wichtigste Modul, und es enthält Kernklassen wie Object und String usw. Es ist das einzige Modul, das selbst keine Abhängigkeit zu anderen Modulen enthält. Jedes andere Modul jedoch bezieht sich mindestens auf java.base. Die Javadoc stellt das schön grafisch dar (siehe Abbildung A.1).
Zum Teil gibt es mehr Abhängigkeiten, etwa beim Modul java.desktop (siehe Abbildung A.2).
A.1.2 JDK-Modul
Das JDK ist die Standard-Implementierung der Java SE. Es liefert den Entwicklern weitere Pakete und Klassen, etwa mit einem HTTP-Server, und Java-Werkzeuge wie den Compiler und das Javadoc-Tool. Es gibt mehrere Module, die alle mit dem Präfix jdk beginnen.
Modul | Beschreibung |
---|---|
jdk.accessibility | Hilfsklassen zur Zugänglichkeit |
jdk.attach | Attach-API, zur Verbindung mit der JVM |
jdk.charsets | Weitere Zeichenkodierungen |
jdk.compiler | Compiler-Implementierung |
jdk.crypto.cryptoki | SunPKCS11 Security-Provider |
jdk.crypto.ec | SunEC Security-Provider |
jdk.dynalink | Unterstützung für dynamisches Linken von Operationen |
jdk.editpad | Editor-Service, zum Beispiel für JShell |
jdk.hotspot.agent | Implementierung des HotSpot Serviceability Agent |
jdk.httpserver | Eingebauter HTTP-Server |
jdk.incubator.foreign | Experimentelle API für Foreign-Memory-Access |
jdk.incubator.jpackage | Java Packaging Tool, jpackage |
Werkzeuge für JAR-Dateien, wie jar und jarsigner | |
jdk.javadoc | Implementierung des Werkzeugs Javadoc |
jdk.jcmd | Diagnose-Tools wie jcmd, jps, jstat |
jdk.jconsole | Implementierung von jconsole |
jdk.jdeps | Implementierung von jdeps und javap |
jdk.jdi | Java Debug Interface |
jdk.jdwp.agent | Java Debug Wire Protocol |
jdk.jfr | API für den JDK Flight Recorder |
jdk.jlink | Definiert das Java Linker Tool, jlink. |
jdk.jshell | Implementierung der JShell |
jdk.jsobject | Definiert die API für den Zugriff auf JavaScript-Objekte. |
jdk.jstatd | Werkzeug jstat |
jdk.localedata | Weitere Sprachen neben US-Englisch* |
jdk.management | JDK-spezifische Management-Interfaces für die JVM |
jdk.management.agent | JMX Management-Agent |
jdk.management.jfr | Management-Interface für Flight Recorder |
jdk.naming.dns | DNS Java Naming Provider |
jdk.naming.rmi | RMI Java Naming Provider |
jdk.net | JDK-spezifische Netzwerk-API |
jdk.rmic | RMI-Compiler |
jdk.sctp | JDK-spezifische API für SCTP |
jdk.security.auth | Implementierung der Schnittstellen aus javax.security.auth.* und Authentifikationsmodule |
jdk.security.jgss | Java-Erweiterungen zur GSS-API und Implementierung des SASL-GSSAPI-Mechanismus |
Definiert eine Teilmenge der W3C Document Object Model (DOM) API, die nicht Teil der Java SE-API ist. | |
jdk.zipfs | Dateisystem-Provider für ZIP-Dateien |
* https://www.oracle.com/java/technologies/javase/jdk14-suported-locales.html |
A.1.3 Java Smart Card I/O-Modul
Ein Modul außerhalb der Java SE und des JDK verbleibt: java.smartcardio. Es enthält die Java Smart Card I/O API und dient zum Ansprechen von Kartenlesern. Nur das Paket javax.smartcardio wird exportiert.