JVM類加載機制入門

java 運行類的入口是mian方法,主類在運行的時候加載其他的類,加載的時候,會優先加載父類.靜態方法優先於構造方法先執行.
jar包或war包裏的類不是一次性全部加載的,是使用到時才加載。

package com.bonc.jvm;

/**
 * @Classname TestDynamicLoad
 * @Description TODO
 * @Date 2020/6/14 11:05
 * @Created by sz
 */
public class TestDynamicLoad {

    static {
        System.out.println("**************加載靜態代碼塊*************");
    }

    public static void main(String[] args) {
        new A();
        System.out.println("*************加載測試類************");
        B b=null;
    }

}

class A extends C{

    static {
        System.out.println("**************加載A的靜態代碼塊*************");
    }
    public  A(){
        System.out.println("**************加載A的構造方法代碼塊*************");
    }

}
class B{

    static {
        System.out.println("**************加載B的靜態代碼塊*************");
    }
    public  B(){
        System.out.println("**************加載B的構造方法代碼塊*************");
    }
}

class C{

    static {
        System.out.println("**************加載C的靜態代碼塊*************");
    }
    public  C(){
        System.out.println("**************加載C的構造方法代碼塊*************");
    }
}

所以程序運行的結果爲
代碼運行結構

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章