Heim  >  Artikel  >  Java  >  Analyse von Prozessbeispielen zum Laden von Java-Klassen

Analyse von Prozessbeispielen zum Laden von Java-Klassen

WBOY
WBOYnach vorne
2023-05-14 15:25:061384Durchsuche

Erläuterung

Wenn das Programm eine Klasse aktiv verwendet und die Klasse nicht in den Speicher geladen wurde, führt das System die folgenden drei Schritte aus Klasse wird initialisiert.

Schritte zum Laden der Klasse

1. Laden: Laden Sie den Bytecode-Inhalt der Klassendatei in den Speicher und konvertieren Sie diese statischen Daten in die Laufzeitdaten Struktur des Methodenbereichs und generiert dann ein java.lang.Class-Objekt, das diese Klasse darstellt und als Zugriffseingang auf die Klassendaten im Methodenbereich dient.

2. Verknüpfen: Der Prozess des Zusammenführens des Binärcodes der Java-Klasse in den laufenden Zustand der JVM.

3. Der Prozess der Ausführung der Klassenkonstruktor-Methode ().

Instanz

public class ClassLoadingTest{
    public static void main (String [] args){
        System.out.println(test.m);
    }
}
 
class test{
    static {
        m = 300;
    }
    static int m = 100;
}
//第一步:加载
//第二步:链接结束后m=0
//第三步:初始化结束后,m的值由<clinit>()方法执行决定
/*
这个test构造器<clinit>()方法由类变量的赋值和静态代码块中的语句按照顺序合并产生,类似于
<clinit>(){
m = 300;
m = 100;
}
*/

Das obige ist der detaillierte Inhalt vonAnalyse von Prozessbeispielen zum Laden von Java-Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen