强引用是Java中最常见且最顽固的引用类型,只要对象被强引用指向,垃圾回收器绝不会回收它,即使内存不足抛出OutOfMemoryError;其特点是仅当强引用被显式断开(如置为null)且无其他强引用时,对象才可能被回收。

强引用是 Java 中最常见、最“强硬”的引用类型,只要一个对象还被强引用变量指向,它就绝对不会被垃圾回收器回收,哪怕内存已经紧张到要抛 OutOfMemoryError 了。
强引用的写法和特点
你平时写的绝大多数引用都是强引用:
-
String str = new String("hello");——str就是一个强引用,指向堆中那个字符串对象 -
List<integer> list = new ArrayList();</integer>——list强引用着这个ArrayList实例
只要这些变量还在作用域内(比如没出方法、没被置为 null、没被重新赋值),JVM 就认定这个对象“正在被使用”,绝不会清理它。
强引用与垃圾回收的关系
垃圾回收器只对“不可达”对象下手。所谓不可达,就是从 GC Roots(如栈帧中的局部变量、静态变量、本地方法栈引用等)出发,**没有任何一条强引用链能到达该对象**。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~