弱引用weakReference 和softReference有什么区别? jni weakreference

WeakReference:

弱引用对象,它们并不禁止其指示对象变得可终结,并被终结,然后被回收。弱引用最常用于实现规范化的映射。

假定垃圾回收器确定在某一时间点上某个对象是弱可到达对象。这时,它将自动清除针对此对象的所有弱引用,以及通过强引用链和软引用,可以从其到达该对象的针对任何其他弱可到达对象的所有弱引用。同时它将声明所有以前的弱可到达对象为可终结的。在同一时间或晚些时候,它将那些已经向引用队列注册的新清除的弱引用加入队列。

*******************************************************************************************

SoftReference:
软引用对象,在响应内存需要时,由垃圾回收器决定是否清除此对象。软引用对象最常用于实现内存敏感的缓存。
弱引用(weakReference)和softReference有什么区别? jni weakreference

假定垃圾回收器确定在某一时间点某个对象是软可到达对象。这时,它可以选择自动清除针对该对象的所有软引用,以及通过强引用链,从其可以到达该对象的针对任何其他软可到达对象的所有软引用。在同一时间或晚些时候,它会将那些已经向引用队列注册的新清除的软引用加入队列。

软可到达对象的所有软引用都要保证在虚拟机抛出 OutOfMemoryError之前已经被清除。否则,清除软引用的时间或者清除不同对象的一组此类引用的顺序将不受任何约束。然而,虚拟机实现不鼓励清除最近访问或使用过的软引用。

此类的直接实例可用于实现简单缓存;该类或其派生的子类还可用于更大型的数据结构,以实现更复杂的缓存。只要软引用的指示对象是强可到达对象,即正在实际使用的对象,就不会清除软引用。例如,通过保持最近使用的项的强指示对象,并由垃圾回收器决定是否放弃剩余的项,复杂的缓存可以防止放弃最近使用的项

****************************************************

weakReference一般用来防止内存泄漏,要保证内存被VM回收
softReference的话,好像多用作来实现cache机制.

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/246770.html

更多阅读

锤子和小米哪个好,有什么区别? 小米和锤子哪个好

锤子和小米哪个好,有什么区别?——简介随着锤子的推出,小米和锤子孰优孰劣的争论已经成为各自粉丝争论的焦点,小米和锤子可以说有说不完的故事,在粉丝中也各有各的影响力,网络上有很多争论,那么在产品上究竟谁棋高一着呢?锤子和小米哪个好,

MP4和MP5有什么区别?什么是MP5? mp4与mp5有什么区别

?????? ?随着平板电脑的流行,曾经辉煌一时的MP4就变得有些凄凉了。不过MP4由于小巧精灵实惠依然受到不少学生喜爱。从MP3到MP4再到现在的MP5我们也可以看到数码产品在不断升级。近段时间有不少学生朋友问笔者MP5是什么?MP4与MP5有什么

小米2s和2a有什么区别 小米2和2s哪个好

小米2s和2a有什么区别——简介小米2s和2a有什么区别?小米2S和小米2A区别还是蛮大的。 小米2S是四核处理器,而小米2A是双核的。价格也有蛮大的差异。 这里就来为大家分享小小米2s和小米2A的区别。 小米2s和2a有什么区别——小米2s和2a

水货和行货有什么区别 怎么区分行货和水货

水货和行货有什么区别——简介水货指在某国家或地区没有经过原生产厂家所指定的销售代理而进行销售的产品。水货不是假货。“水货”一词的由来,是因为早期走私者为逃避关税等原因,将国外船运过来的商品用塑料袋等密封好后投入约定的浅

发泥和发蜡有什么区别 该如何选择 发泥和发蜡的区别

发泥和发蜡有什么区别 该如何选择——简介 其实发泥和发蜡效果很相似,不同的发质,头发长度你剪得发型和你需要创造的效果以及操作手法都会使后面出来的效果大不一样。听完小编的分析,如何选择就看哪个更适合你自己吧!发泥和发蜡有什么

声明:《弱引用weakReference 和softReference有什么区别? jni weakreference》为网友长风为骨分享!如侵犯到您的合法权益请联系我们删除