Die Datei, in der alle Klassen aus der API realisiert sind befindet sich im Verzeichnis
<JAVA_HOME>/jre7/lib und heißt rt.jar. In der Version 7 ist sie 49,3 MB "dick" und enthält 16661 Klassen,
wobei die anonymen Klassen nicht mitgezählt sind. Die API dagegen verzeichnet nur 4025 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.
Klasse | Fehlermeldung |
sun.font.FileFontStrike | java.lang.UnsatisfiedLinkError: sun.font.StrikeCache.getGlyphCacheDescription([J)V |
sun.font.FreetypeFontScaler | java.lang.UnsatisfiedLinkError: sun.font.FreetypeFontScaler.initIDs(Ljava/lang/Class;)V |
com.sun.org.apache.xml.internal.serialize.HTMLdtd | java.lang.ExceptionInInitializerError |
sun.jdbc.odbc.JdbcOdbcPlatform | java.lang.UnsatisfiedLinkError: sun.jdbc.odbc.JdbcOdbc.getSQLLENSize()I |
sun.java2d.cmm.lcms.LCMS | java.lang.UnsatisfiedLinkError: no lcms in java.library.path |
sun.font.NativeStrike | java.lang.NoClassDefFoundError: sun.font.PhysicalStrike |
sun.font.PhysicalStrike | java.lang.NoClassDefFoundError: Could not initialize class sun.font.PhysicalStrike |
sun.security.krb5.SCDynamicStoreConfig | java.lang.UnsatisfiedLinkError: no osx in java.library.path |
sun.org.mozilla.javascript.internal.SecureCaller | java.lang.ExceptionInInitializerError |
sun.font.StrikeCache | java.lang.NoClassDefFoundError: Could not initialize class sun.font.StrikeCache |
sun.reflect.misc.Trampoline | java.lang.Error: Trampoline must not be defined by the bootstrap classloader |
sun.management.VMManagementImpl | java.lang.UnsatisfiedLinkError: sun.management.VMManagementImpl.getVersion0()Ljava/lang/String; |
sun.awt.windows.WBufferStrategy | java.lang.UnsatisfiedLinkError: sun.awt.windows.WBufferStrategy.initIDs(Ljava/lang/Class;)V |