聊城公司做网站,目前专业做水果的网站,网站有竞价的统计怎么加百度统计,线上app怎么做在JDK1.2之前#xff0c;一个对象只有两种状态已被引用和未被引用 #xff0c;在JDK1.2后#xff0c;为了使得程序能够更好的控制对象的生命周期#xff0c;引入了对象特殊状态的四种引用#xff0c;由强到弱分别是#xff1a;强引用#xff0c… 在JDK1.2之前一个对象只有两种状态已被引用和未被引用 在JDK1.2后为了使得程序能够更好的控制对象的生命周期引入了对象特殊状态的四种引用由强到弱分别是强引用软引用弱引用虚引用。
1.强引用 在Java程序中最常见的就是强引用也是默认的引用类型比如Object object new Object()只要强引用的对象是可达的JVM宁愿报OOM也不会回收强引用如果想要回收强引用那么就将引用变量赋值为null再合适的情况下垃圾回收就会收集所以强引用也是造成内存泄露的主要原因。
2.软引用 软引用对应的实现类是SoftReference我们可以将一个对象作为参数来创建SoftReference对象这样这个对象就是软引用对象了如果垃圾回收一次之后发现内存依然不够才会回收软引用。
3.弱引用 弱引用对应的实现类是WeakReference当垃圾回收器扫描到弱引用时无论此时的内存空间是否足够都会回收弱引用。
4.虚引用 虚引用对应的实现类是PhantomReference虚引用就和没有任何引用一样在任何时候都可能被垃圾回收虚引用必须和引用队列一起使用主要用来跟踪对象被垃圾回收的活动。