Cat cat = new Cat();//短短这行代码发生了很多事情
1.把Cat.class文件加载进内存
2.在栈内存中,开辟空间,存放引用变量cat
3.在堆内存中,开辟空间,存放Cat 对象
4.对成员变量进行默认的初始化
5.对成员变量进行显示初始化
6.执行构造方法(如果有构造代码块,就先执行构造代码块再执行构造方法)
7.堆内存完成
8.把堆内存的地址值赋值给变量cat ,cat就是一个引用变量,引用了Cat对象的地址值
借用韩顺平老师的内存讲解图
浅析Integer对象在内存中存放
Integer a1 =300;
Integer a2 =300;
Integer a3 =100;
Integer a4 =100;
System.out.println(a1 == a2);
System.out.println(a3 == a4);