浅谈Python接口对json串的处理方法
270
2022-10-29
java软引用在浏览器使用实例讲解
1、说明
如果一个网页在浏览结束时回收内容,需要按后退查看之前浏览过的页面时重建;
如果将浏览过的网页存储在内存中,会造成大量内存浪费,甚至导致内存溢出。
2、实例
// 获取浏览器对象进行浏览
Browser browser = new Browser();
// 从后台程序加载浏览页面
BrowserPage page = browser.getPageRJKKRr();
// 将浏览完毕的页面置为软引用
SoftReference softReference = new SoftReference(page);
// 回退或者再次浏览此页面时
if(softReference.get() != null) {
// 内存充足,还没有被回收器回收,直接获取缓存
page = softReference.get();
} else {
// 内存不足,软引用的对象已经回收
page = browser.getPage();
// 重新构建软引用
softReference = new SoftReference(page);
}
实例扩展:
byte[] data = new byte[1*1024*1024];
ReferenceQueue referenceQueue = new ReferenceQueue<>();
SoftReference softReference = new SoftReference<>(data,referenceQueue);
data = null;
System.out.println("before:"+softReference.get());
try {
for (int i = 0; i
byte[] temp = new byte[3*1024*1024];
System.out.println("processing:"+softReference.get());
}
} catch (Throwable t) {
System.out.println("after:"+softReference.get());
t.printStackTrace();
}
while(referenceQueue.poll()!=null){
System.out.println("self:"+softReference);
softReference.clear();
softReference = null;
System.out.println("last:"+softReference);
}
VM options:-Xms5m -Xmx5m -XX:+PrintGC
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~