Java面试必知必会

「Java面试必会」强引用、软引用、弱引用、幻象引用有什么区别?

2018-12-20  本文已影响82人  花生无翼

引用,一提到这个词会想到什么?Java里除了基本数据类型就是引用类型。
下面一道面试题不常考,但是一旦考了,能说上来的人就非常少了。强引用、软引用、弱引用、幻象引用有什么区别?

Java中根据其生命周期的长短,将引用分为4类,具体情况如下:

强引用

特点:我们平常通过new出来的对象关联的引用就是强引用,如Object obj = new Object()中的obj。

一个对象具有强引用,垃圾回收器绝不会轻易回收它。当内存空间不足时,JVM宁愿抛出OutOfMemoryError错误,也不会靠回收具有强引用的对象来解决内存不足的问题,因此可以说回收强引用解决不了内存不足的问题。

软引用

弱引用

幻象引用

上一篇下一篇

猜你喜欢

热点阅读