JAVA强引用、软引用、弱引用、虚引用小结

  • Post author:
  • Post category:java


JAVA中将引用类型分为强引用、软引用、弱引用和虚引用四种。


强引用(StrongReference)


强引用是我们程序中普遍存在的,比如如下代码中的obj和str都是强引用类型。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。

Object obj = new Object();
String str = "StrongReference";


软引用(SoftReference)


软引用是用来描述一些有用但不是必须的对象,当内存充足的时候,软引用对象不会被JVM回收,而当内存不足时,软引用对象会被回收掉。软引用对象用java.lang.ref.SoftReference类来表示。常用于实现高速缓存。

SoftReference<String> sr = new SoftReference<



版权声明:本文为ljx1204原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。