00:00
好,各位同学,我们继续,那么接下来我们来看一下这道题目。谈谈你对强、软弱、虚对四大引用的理解。那么这四个引用的架构是什么?这四个引用为什么会出现?它们分别用在哪?各自的作用谈谈。大家请看。不再是去年那样好,兄弟们,等号左边叫引用,在帐里面,等号右边叫对象,在堆里面。好引用就是引用了。就有点儿类似于假设现现现在北京哈有沙尘暴或者刮大风,你不能说今天的天气怎么样啊,有风还是没风。没风他们闭嘴了,那么有风呢?它是不是还需要更加细力度进一步的诉说,是三级大风,四级大风,五级大风还是六级?那么比如说今天有雾霾,它会有说是什么黄色、蓝色,或者说是什么橙色污染等等,按照不同的颜色等级,那么一样在Java里面的引用也会有这样的一种分层。
01:04
待进一步细化的概念。好。那么接下来。我们呢,可以得到第一个结论。说白了,为了更加进一步加强GVM的对于引用的说明,你不能说它是有没有引用,那么有引用了以后还不够,那么是什么引用,强软弱虚这四个里面加一个,那么一般我们这样用的这个是什么引用啊,同学们95%的情况下是强引用。软引用也会用到,可能你写缓存什么之类的是吧,但是弱啊,尤其这个虚拟引用工作中很少用,但是没办法哈,他现在大厂面试题呢,他就考,就看看你的系统知识是否全面,GM的知识是否。网状形成的全面的网状,好,那们不多说了,抱怨没有用,我们现在呢还是呢来看一下这道题目,首先我们来说一下它的整体架构,那么这个引用一般在哪个包下面,在Java烂点这个包下面,那么它的整体组织架构是这样。
02:03
Object一切类的祖先类,一般我们说的引用,我们都是用到这儿,所以说以前就是我们所说的这个be就是个引用,指向了一个实例对象只是到这一层,那么现在。有没有饮用是一个问题,有了饮用以后,是强饮药,是软饮药,弱饮用还是虚饮用?那么phantom呢?这个是幽灵虚拟的意思啊。好,那么言下之意就是强软弱虚。当然这还有个什么动作叫引用队列,稍后我们会介绍,那么好,先给大家,大概是吧。半分钟把这个组织架构图简单的了解一下。好,那么同学们这个呢,跟我们的API呢,也是一一对应的哈,Java拉点瑞,那么大家看看引用下面是吧,就是我们日常日常说的引用在瑞这个引用包下面。以前就学到这儿,现在问的更深了,那么干嘛呢,他呢就要让你说出来,你具体是哪一种引用,有什么作用,好,那么这接下来我们来看一下。
03:06
第一个叫前引用,也就是我们默认支持95%,我们也就用这个,那么好,这个前引用的意思是什么呢?就是当内存不足的时候,GVM是不是会进行GC垃圾回收,但是对于强引用的对象,就算是出现了OM,也不会对该对象进行回收,死了都不收,也就是引用干嘛?就是GM内存不够了,我也不会去动它,情愿崩盘。因为强饮用是我们最常见的普通最强的饮用。只要还有一个强引用指向一个对象,就表示这个对象还活着,你能不能烧?对吧,一家饭店要打烊了,只要有一个客人,也许他今天喝醉酒了,那么你也只能是把这个客人呢干嘛呢。抬出去放到酒店里面,你不能说我今天打烊了,我就把这个,呃,喝醉酒的这个顾客锁在店铺里面,这个可能不合适啊,对吧,所以说一般呢。只要有一个指向它,这种强饮药就说明活着垃圾回收器不会碰,在Java中最常见的就是我们的强饮药,一般我们就是用强饮药。那么。
04:10
你这个对象赋给一个引用变量,引用变量就是个强引用,那么说白了它呢,还是处于可达对象,不能够被GC,也就是说该对象以后永远都不会被GPM回收到,只要你是枪引用,就算OM了也不烧,情愿崩盘我都不烧,因此它呢,经常造成是吗?内存泄露OM,那么所以说对于一个普通对象,如果没有其他引用关系了,只要超过引用,也就说白了,我们这个引用为,那它是不是代表就是对象不可达了,那么呢,我们可以被回收好,一般就认为。收了,那么OK了,那么我们来看一下这个强引用,大概用代码来演示,是什么意思呢?因为首先哈,它看不到效果,因为说明是什么,就是OM了也不会回收,就说白了死都不收,那么所以说我们写一个最简单的,那么呢,这个代码呢很简单,杨哥呢,就不再亲自敲了,难的我们再动手敲,节约时间。
05:07
首先啊,我们来看一眼,那么这个时候。干嘛呢?同学们都明白object一切对象是吧?O1这个就是一个什么强引药。好,然后呢,我把又定一个对象,我们借给他,二把一的地址付给它,那么相当于说现在就是一跟二的引用地址都指向同一个对象,此时我们将OE干嘛?指空了,然后呢,我们把GC起到,那么言下之意这个时候说穿了,这个内线程下来以后,OE是烂了,那么他要被垃圾回收掉,那么它被垃圾回收掉了,那么这个O2呢?注意啊,O2可不是直接扭出来的,O2是要了这个G1的负值啊,现在G1这个负值已经是烂了,那么O2还能不能打出来。那么这个时候同学们我们来搂一眼,什么情况,O2完全没有任何问题,那么所以说这个就是什么,你该收收你的,但是我O2这样的是强引用,干嘛不会被垃圾回收回收好,那么这个呢,就是我们的强引用和相关的介绍。
我来说两句