Java中的弱引用是什么

2022-09-09 07:30:00521
切换 - 音频
00:00:00 / 00:00:00
声音简介


1 Java中有4中引用,强引用、软引用、弱引用、虚引用。

强引用:普通new出来一个对象 ,都是强引用。

软引用:SoftReference类,当内存不足的时候,会被回收。

弱引用:WeakReference类,内存充足也会被垃圾回收。

虚引用:最脆弱的引用,记录一个对象已经被回收了。


2 当某个对象只被弱引用的时候,Java的垃圾回收机制就会回收该对象。

3 我们知道一个对象定义出来,在堆内存中为其开辟空间,在栈中存储该对象的引用。比如定义一个Car a1 = new Car() ; 这时候在堆中开辟了一块空间存储Car的数据,而a1则存储在栈中,引用堆中的Car。

4 如果我们设置 a1 = null,那么堆中的Car空间就不被栈引用了,Java的垃圾回收就会回收这块内存。

5 如果我们设置 a1 = new Car() ; a2 = a1 ; a1 = null ; 这时候虽然 a1 不引用堆中的Car,但a2 还引用着堆中的Car,那么堆中的Car空间是不会被回收的。

6 这时候就可以使用弱引用了。 a1 = new Car() ; a2 = new WeakReference(a1) ; a1 = null。

这时候 a1 不再引用堆中的Car空间,a2 是一个弱引用,虽然引用着堆中的Car空间,由于堆中的Car空间只被弱引用,因此Java的垃圾回收就会回收该空间。







用户评论

表情0/300

阿jun_6o

讲的非常好

猜你喜欢
喜欢引用吉卜林的贼

伯尼·罗登巴尔开始做合法生意了——他在格林尼治开了一家二手书店。然而,旧书上的灰尘并不总是能变成利润,于是伯尼不得不偶尔重操旧业。有个收藏家给了他一个机...

by:新星出版社

有必要被列举出来阴影的脸 用 引用原视频

啊哈不是所有视频只有链接或(固定的)作者名称就不管了!我觉得商用buzh博主一般不改名字的)

by:天黑了别忘了回家

《道德经》精彩解读 引用大量历史和现实故事

《道德经》所含的思想博大精深,堪称治国齐家,修身,为学的宝典,世人读之各有所得。

by:郭女士说说

弱弱日语视频

【专辑背景】学日语时,有多少小白,一条腿跨进了日语的大门,却因为没有坚持下来,而跪在了门口!在这个专辑里,弱弱!将会用原创手绘画和搞怪视频,带你轻轻松松学日语...

by:弱弱hin可爱

弱弱50音图发音入门

写在前面学日语的过程中,有多少小白白,一条腿跨进了日语的大门,却又因为没有学会50音图和简单会话,而跪在了门口!在这个专辑里,弱弱!将会用“独一无二”的动物弱...

by:弱弱hin可爱

懦弱

赵琳《懦弱》文案作为一名新生代演员,赵琳通过自己的单曲《懦弱》宣扬着勇敢挑战困难的精神。《懦弱》这首歌以内心独白的形式表达着要驱逐懦弱的勇气,赵琳用她温柔但不...

by:华语音乐

弱点

种类、数量、程度每个人又是不一样的,人性的弱点对一个人的羁绊越小,现实生活中他获得的成功往往就会越大。

by:可道