类加载内存分析

类加载内存分析

了解:类的加载过程

类的加载与ClassLoader的理解

代码如下

public class Test05 {
    public static void main(String[] args) {
        A a = new A();
        System.out.println(A.m);
    }
     /*
        1.加载到内存,会产生一个类对应Class对象
        2.链接,链接结束后m = 0
        3.初始化
            <clinit>(){
            System.out.println("A类静态代码块初始化");
            m = 300;
            static int m = 100;
            
            }
         */
}

class A{
    static {
        System.out.println("A类静态代码块初始化");
        m = 300;
    }

    static int m = 100;

    public A(){
        System.out.println("A类的无参构造器初始化");
    }
}

内存图分析

image-20200717010734990

原文地址:https://www.cnblogs.com/helloxiaolu/p/13326826.html