社区
Java SE
帖子详情
一道面试题,弱引用(weakReference)和softReference有什么区别?
hpfeng
2006-03-27 11:32:32
弱引用(weakReference)和softReference有什么区别?
...全文
1602
5
打赏
收藏
一道面试题,弱引用(weakReference)和softReference有什么区别?
弱引用(weakReference)和softReference有什么区别?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
judely
2006-03-30
打赏
举报
回复
学习`~
welfarefanwei
2006-03-28
打赏
举报
回复
Mark!
hpfeng
2006-03-28
打赏
举报
回复
谢谢 interpb(曾曾胡) 对jdk的翻译:)
不过,实际应用你用过这种类型的对象吗,如何使用的?
wizardblue
2006-03-28
打赏
举报
回复
weakReference一般用来防止内存泄漏,要保证内存被VM回收
softReference的话,好像多用作来实现cache机制.
interpb
2006-03-28
打赏
举报
回复
WeakReference:
弱引用对象,它们并不禁止其指示对象变得可终结,并被终结,然后被回收。弱引用最常用于实现规范化的映射。
假定垃圾回收器确定在某一时间点上某个对象是弱可到达对象。这时,它将自动清除针对此对象的所有弱引用,以及通过强引用链和软引用,可以从其到达该对象的针对任何其他弱可到达对象的所有弱引用。同时它将声明所有以前的弱可到达对象为可终结的。在同一时间或晚些时候,它将那些已经向引用队列注册的新清除的弱引用加入队列。
///////////////////
SoftReference:
软引用对象,在响应内存需要时,由垃圾回收器决定是否清除此对象。软引用对象最常用于实现内存敏感的缓存。
假定垃圾回收器确定在某一时间点某个对象是软可到达对象。这时,它可以选择自动清除针对该对象的所有软引用,以及通过强引用链,从其可以到达该对象的针对任何其他软可到达对象的所有软引用。在同一时间或晚些时候,它会将那些已经向引用队列注册的新清除的软引用加入队列。
软可到达对象的所有软引用都要保证在虚拟机抛出 OutOfMemoryError 之前已经被清除。否则,清除软引用的时间或者清除不同对象的一组此类引用的顺序将不受任何约束。然而,虚拟机实现不鼓励清除最近访问或使用过的软引用。
此类的直接实例可用于实现简单缓存;该类或其派生的子类还可用于更大型的数据结构,以实现更复杂的缓存。只要软引用的指示对象是强可到达对象,即正在实际使用的对象,就不会清除软引用。例如,通过保持最近使用的项的强指示对象,并由垃圾回收器决定是否放弃剩余的项,复杂的缓存可以防止放弃最近使用的项
java
面试题
,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心
180多页
面试题
,前前后后不间断的更新了两年,准备换工作时,总是拿来看看,有比较好的
面试题
,也不间断的更新,
面试题
目录如下: 【基础】面向对象的特征有哪些方面 13 抽象 13 继承 13 封装 13 多态性 13 【基础】...
弱引用
(
weak
Reference
)和
soft
Reference
有什么
区别
?
一道
面试题
,
弱引用
(
weak
Reference
)和
soft
Reference
有什么
区别
? 在平时开发中,这两个东西还真没有用上过. 但还是得理解下.. 引用的强度分为:强 弱 软 虚 强就不用讲了,,我们平时都是用的这个. 垃圾回收...
java List是强引用吗,经典
面试题
:强引用、软引用、
弱引用
、虚引用有什么
区别
?...
今天给大家带来
一道
经典
面试题
: 强引用、软引用、
弱引用
、虚引用有什么
区别
?众所周知,Java中是JVM负责内存的分配和回收,这是它的优点(使用方便,程序不用再像使用c那样操心内存),但同时也是它的缺点(不够灵活)...
经典
面试题
:强引用、软引用、
弱引用
、虚引用有什么
区别
?
今天给大家带来
一道
经典
面试题
:强引用、软引用、
弱引用
、虚引用有什么
区别
? 众所周知,Java中是JVM负责内存的分配和回收,这是它的优点(使用方便,程序不用再像使用c那样操心内存),但同时也是它的缺点(不够...
【java基础】java中虚引用(Phantom
Reference
)、
弱引用
(
Weak
Reference
)、软引用(
Soft
Reference
)、强引用(default)是什么?有什么
区别
?
它们有什么
区别
? 他们的应用场景分别是什么?(回答在总结里,但是看一下正文吧) 背景简介 刷
面试题
的时候看到问ThreadLocal如何解决线程泄露问题。蒙蔽了。在网上查各种资料,看到了马老师的课程,学习了一番,搞...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章