四中引用介绍

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

 

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

 

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

 

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

 

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

 

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

posted @ 2019-11-16 09:13  小#安  阅读(115)  评论(0编辑  收藏  举报