java中的强引用和弱引用的区别,java 强弱引用

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: