java中的强引用和弱引用的区别,java 强弱引用
第一,强引用
我们通常创建一个强引用的对象,例如
Object obj=new Object();即使在内存不足的情况下,JVM也宁愿抛出OutOfMemory error,也不愿回收这类对象。
(推荐视频教程:java视频教程)
第二,软引用
如果一个对象只有软引用,内存空间足够,垃圾收集器不会回收;如果内存空间不足,这些对象的内存将被回收。
SoftReferenceString soft ref=new SoftReferenceString(str);//软引用的使用:
软引用在实践中有重要的应用,比如浏览器的后退按钮。当您按back时,在此back期间显示的网页内容会被重新请求还是从缓存中取出?要看具体的实施策略。
(1)如果网页在浏览结束时被回收,当您按back查看之前浏览的页面时,需要重新构建该网页。
(2)如果将浏览过的网页存储在内存中,会浪费大量内存,甚至内存溢出。
代码如下:
Browser prev=新浏览器();//获取要浏览的页面
软参考sr=新软参考(前一个);//浏览后会是一个软引用。
if(sr.get()!=null){
rev=(Browser)Sr . get();//还没有被回收商回收。直接得到它
}否则{
prev=新浏览器();//由于内存紧张,软引用的对象被回收。
sr=新的软参考(prev);//重建
}相关教程推荐:java快速入门以上是java中强引用和弱引用的介绍细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。