Penjelasan
Apabila program menggunakan kelas secara aktif, jika kelas belum dimuatkan ke dalam memori, sistem akan memulakan kelas melalui tiga langkah berikut.
Langkah pemuatan kelas
1 Memuatkan: Muatkan kandungan bytecode fail kelas ke dalam memori, dan tukar data statik ini kepada data masa jalan dalam struktur kawasan kaedah, dan kemudian menjana objek java.lang.Class yang mewakili kelas ini, yang berfungsi sebagai pintu masuk akses kepada data kelas dalam kawasan kaedah.
2. Memautkan: Proses menggabungkan kod binari kelas Java ke dalam keadaan berjalan JVM.
3. Proses melaksanakan kaedah pembina kelas
Instance
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; } */
Atas ialah kandungan terperinci Analisis contoh proses pemuatan kelas java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!