Nachdem ich es auf Papier gelesen habe, wird mir klar, dass ich es im Detail machen muss
--Lu You Fragen Sie den Kanal, wie klar er ist, damit es eine Quelle lebendigen Wassers gibt – Zhu Xi
Das gesamte Leben einer Klasse vom Zeitpunkt des Ladens in den Speicher bis Die Zeit, in der es aus dem Speicher entladen wird. Der Zyklus umfasst: Laden, Überprüfung (Verification), Vorbereitung (Preparetation), Auflösung (Resolution),
Initialisierung (Initialization) und verwenden (Using), sieben Stufen des Entladens (Uploading). Wobei die Vorbereitung und Analyse der Validierung als Verknüpfung bezeichnet wird.
1 Die geladene Architektur
1), Bootstrap Classloader startet den Klassenlader, der hauptsächlich für die Kern-APIOder das durch die Option -Xbootstrap angegebene JAR-Paket ist im Job enthalten. 2), Extension ClassLoader, Erweiterungsklassenlader, hauptsächlich verantwortlich für das JAR-Paket unter java_home/lib/ext
3), App CLassLoader Systemklassenlader, hauptsächlich verantwortlich für Java -classpath/ Der Laden von Klassen und JAR-Paketen im Verzeichnis 4), UserCustom ClassLoader, benutzerdefinierter Klassenlader, während der Ausführung des Programms, über die untergeordnete Klasse Java.lang
.Classloader dynamische Ladeklasse 2. Merkmale des Klassenladens
Namespace
, zwei identische Klassennamen dürfen nicht im selben Namespace erscheinen2), Um Java
SicherheitSandboxModellTop-Level-Klassen-Loader-Sicherheitsmechanismus zu erreichen, Java übernimmt standardmäßig die Struktur „Parent-Delegated Loading Chain“. 3. Es gibt drei Möglichkeiten, Klassen zu laden:
1). und von der JVM geladen.
2), dynamisches Laden durch die Klasse.
forName()-Methode. 3), dynamisches Laden durch die Methode ClassLoader().loadClass().
Diese drei Lademethoden haben Auswirkungen auf die Ausführung von
statischenDas obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Java-Klassenlademechanismus ClassLoder (Bild und Text). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!