Die Datei, in der alle Klassen aus der API realisiert sind befindet sich im Verzeichnis
<JAVA_HOME>/jre6/lib und heißt rt.jar. In der Version 6u38 ist sie 42,9 MB "dick" und enthält 15385
nichtanonyme und 1714 anonyme Klassen. Die API dagegen verzeichnet nur 3793 Klassen. Es gibt also
eine Menge versteckter Klassen, die u.a. die Plattformunabhängigkeit von Java sicherstellen und sich von Version
zu Version ändern können. Mit einiger Mühe gelingt es, aus der Datei rt.jar alle nichtanonymen Klassen auszulesen
und ihr Innenleben via Reflection zu entschlüsseln. Das folgende Applet zeigt prakisch alle dieser Klassen auf.
Die Navigation beginnt am einfachsten mit der Liste aller Klassen auf der linken Seite. Man kann Klassen suchen
und es gibt eine History.
Java 1.6 : 15382 (nicht-anonyme) Klassen aus rt.jar als Westentaschen-API
Die folgenden 3 Klassen in rt.jar lassen sich nicht mit Class.forName() erzeugen, sie fehlen deshalb in der PocketApi.
Klasse | Fehlermeldung |
sun.jdbc.odbc.JdbcOdbcPlatform | java.lang.UnsatisfiedLinkError: sun.jdbc.odbc.JdbcOdbc.getSQLLENSize()I |
com.sun.xml.internal.bind.api.Messages | java.lang.ExceptionInInitializerError |
sun.awt.windows.WBufferStrategy | java.lang.UnsatisfiedLinkError: sun.awt.windows.WBufferStrategy.initIDs(Ljava/lang/Class;)V |
|