计算机底层原理之对象加载过程

对象创建过程

0:new Object() 是申请一块空间。并且创建一个属性m,但是不赋值m=0
3:
4: invokespecial:创建T的构造方法,调用完这个方法后,m=8
7:栈里面的t和内存中的T创建关联关系
8:

代码演示(this溢出问题)

public class ThreadTest {
    private int num=8;

    // 有可能会访问到这个对象访问到一半的结果,不是期望的结果。所以不要在构造器中启动线程
    public ThreadTest(){
        new Thread(()-> System.out.println(this.num)).start();
    }

    public static void main(String[] args) throws IOException {
        new ThreadTest();
        System.in.read();
    }
}

posted @ 2023-06-10 00:45  King-DA  阅读(13)  评论(0)    收藏  举报