Heim > Java > javaLernprogramm > Detaillierte Erläuterung des Java-Klassenlademechanismus ClassLoder (Bild und Text)

Detaillierte Erläuterung des Java-Klassenlademechanismus ClassLoder (Bild und Text)

黄舟
Freigeben: 2017-03-15 13:11:55
Original
2141 Leute haben es durchsucht

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

1), jeder ClassLoader verwaltet seinen eigenen

Namespace

, zwei identische Klassennamen dürfen nicht im selben Namespace erscheinen

2), Um Java

Sicherheit

SandboxModellTop-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.

for

Name()-Methode. 3), dynamisches Laden durch die Methode ClassLoader().loadClass().

Diese drei Lademethoden haben Auswirkungen auf die Ausführung von

statischen

Codeblöcken.

Das folgende Beispiel:

1. ClassLoader-Klassenladearchitektur

1) Bootstrap Classloader startet den Klassenlader, der hauptsächlich für das Laden der Kern-API unter java_home/lib oder des durch die Option -Xbootstrap angegebenen JAR-Pakets verantwortlich ist.

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/ Laden von Klassen und JAR-Paketen im Verzeichnis;

4), UserCustom ClassLoader, benutzerdefinierter Klassenlader, lädt während der Ausführung des Programms dynamisch Klassen über Unterklassen von Java.lang.Classloader

Das 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage