类加载内存分析

1.7、类加载内存分析

public class Test05 {
    public static void main(String[] args) {
        A a = new A();
        System.out.println(a.m);
    }
}
class A{
    static {
        System.out.println("A类静态代码块初始化");
        m = 300;
    }
    static int m = 100;
    /*
        m = 300
        m = 100
     */
    public A() {
        System.out.println("A类无参构造函数");
    }
}

分析:

       1. 加载到内存,会产生一个类对应的class对象
       2. 链接,链接结束后 m = 0
       3. 初始化,会把静态资源整合
                      <clinit>(){
                          System.out.println("A类静态代码块初始化");
                          m = 300;
                          m = 100;
                      }

猜你喜欢

转载自www.cnblogs.com/xd-study/p/13201439.html