四中引用介绍

强引用(StrongReference):JVM宁可抛出OOM,也不会让GC回收具有强引用的对象           生命周期:JVM停止的时候才会终止

软引用(SoftReference):只有在内存空间不足时,才会被回收的对象                     生命周期:内存不足时终止

弱引用(WeakReference):在GC时,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存                         生命周期:GC后终止

虚引用(PhantomReference):任何时候都可以被GC回收,当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会在回收对象的内存之前,把这个虚引用加入到与之关联的引用队列中。程序可以通过判断引用队列中是否存在该对象的引用,来了解这个对象是否将要被回收。可以用来作为GC回收Object的标志。                  生命周期:GC后终止

成员变量全部存储在堆中(包括基本数据类型,引用及引用的对象实体)–因为他们属于类,类对象最终还是要被new出来的。

局部变量的基本数据类型和引用存储于栈当中。--因为他们属于方法当中的变量,生命周期会随着方法一起结束

猜你喜欢

转载自www.cnblogs.com/acg88688/p/11870585.html