类加载内存分析

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;
                      }
posted @ 2020-06-28 10:01  小徐学狂  阅读(148)  评论(0编辑  收藏  举报