关于java中的强引用与弱引用的介绍

互联网 20-4-10

一、强引用

我们平时new了一个对象就是强引用,例如

Object obj = new Object();

(推荐视频教程:java视频教程)

二、软引用

如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。

SoftReference<String> softRef=new SoftReference<String>(str);     // 软引用

用处:

软引用在实际中有重要的应用,例如浏览器的后退按钮。按后退时,这个后退时显示的网页内容是重新进行请求还是从缓存中取出呢?这就要看具体的实现策略了。

(1)如果一个网页在浏览结束时就进行内容的回收,则按后退查看前面浏览过的页面时,需要重新构建。

(2)如果将浏览过的网页存储到内存中会造成内存的大量浪费,甚至会造成内存溢出。

如下代码:

Browser prev = new Browser();               // 获取页面进行浏览 SoftReference sr = new SoftReference(prev); // 浏览完毕后置为软引用         if(sr.get()!=null){      rev = (Browser) sr.get();           // 还没有被回收器回收,直接获取 }else{     prev = new Browser();               // 由于内存吃紧,所以对软引用的对象回收了     sr = new SoftReference(prev);       // 重新构建 }

相关教程推荐:java快速入门

以上就是关于java中的强引用与弱引用的介绍的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 弱引用
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:vue.js中如何使用v-for以及怎么获取索引?

相关资讯