A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 填rui 初级黑马   /  2018-1-26 18:56  /  870 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

该文章参考自:




强引用(StrongReference)就是指在程序代码之中普遍存在的,比如下面这段代码
[Java] 纯文本查看 复制代码
String str = "hello world";
Scanner sc = new Scanner();

JVM即使在内存不足的时候也不会回收str和sc对象

软引用(SoftReference)

用来描述一些有用但不是必需的对象,比如下面这段代码
[Java] 纯文本查看 复制代码
SoftReference<String> str = new SoftRenference<String>(new String("hello world"));

只有在内存不足时才会回收str对象

弱引用(WeakReference)
也是用来描述非必需对象的
[AppleScript] 纯文本查看 复制代码
WeakReference<String> str = new WeakReference<String>(new String("hello world");

当JVM进行垃圾回收时,不管内存是否充足,都会回收str对象

虚引用(PhantomReference)
这个和软引用、虚引用不同,它并不影响对象的生命周期
[AppleScript] 纯文本查看 复制代码
PhantomReference<String> str = new PhantomReference<String>("hello world");

虚引用在任何时候都可能被垃圾回收器回收

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马