1. 引用数据类型的内存分析
一个对象的实例化涉及到两个地方:
堆内存:保存所创建的这个对象的属性和方法。
栈内存:保存指向该对象的堆内存地址。
当一个实例化对象不被引用,也就是在栈内存中没有指向该实例化对象所在的堆内存地址,就变成了垃圾。会被GC定时清理。
2. 总结
(1) 类描述的是公共特征,类必须通过对象才可以使用。
(2)声明对象指的是未开辟堆内存的对象。(Book a=null)
如果直接使用此对象会出现“NullPointerException”
(3) 对象可以通过关键字new 来进行堆内存空间的开辟,有了堆内存引用的对象才称为实例化对象。
(4) 堆内存保存的是对象中所有属性的内容,而栈内存保存的是堆内存的地址数值。
(5) 垃圾空间指的是没有任何栈内存指向的堆内存空间,会被GC不定期进行回收。