今天看了一个JAVA内存垃圾管理的例子,觉的很有意思!贴到网上(以备回顾)
package test;
import java.lang.ref.WeakReference;
import java.util.WeakHashMap;
import javax.swing.text.html.HTMLDocument.HTMLReader.IsindexAction;
public class testWeakReference {
public static void main(String[] args) {
System.out
.println("=======================弱引用对象垃圾收集情况================");
myWeakObject mwo = new myWeakObject("myweakobject1");
WeakReference wr = new WeakReference(mwo);
mwo = null;
((myWeakObject) wr.get()).show();
System.out.println("第一次垃圾收集!!!");
System.gc();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (wr.get() != null) {
((myWeakObject) wr.get()).show();
}
System.out
.println("==========================弱引用MAP=========================");
WeakHashMap whm = new WeakHashMap();
myWeakObject mwo2 = new myWeakObject("myweakobject2");
whm.put(mwo2, "XXXXX");
mwo2 = null;
((myWeakObject) whm.keySet().iterator().next()).show();
System.out.println("第二次垃圾回收!!!");
System.gc();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
((myWeakObject) whm.keySet().iterator().next()).show();
}
}
class myWeakObject {
String mwname;
public myWeakObject(String mwname) {
super();
this.mwname = mwname;
}
public void finalize() {
System.out.println(mwname + "对象满足垃圾收集条件,被收集!!!");
}
public void show() {
System.out.println(mwname + "对象还可以被调用!!!");
}
}
分享到:
相关推荐
主要介绍了 JAVA 弱引用的相关资料,帮助大家更好的理解和学习java引用对象,感兴趣的朋友可以了解下
Java弱引用实现源码jack-编译器 效果 演示1: class Main { function void main () { String s; Output. printString ( " Hello, world! " ); Output. println (); Output. printString ( " What's your name? " ); ...
主要介绍了Java弱引用(WeakReference)的理解与使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
将带大家快速理解Java中弱引用,文章介绍的很详细,对大家学习Java很有帮助哦,有需要的可以参考借鉴。
《Java 理论与实践: 用弱引用堵住内存泄漏》一文也指出了使用全局的Map作为缓存容器时发生的内存泄露问题,介绍了如何使用hprof工具来找出内存泄露,并分析了如何使用弱引用来防止内存泄露,还分析了
弱引用实现源码 Chromium_doc_zh Chromium中文文档 for 翻译之加强对android webview理解,同时作为架构设计的学习。 还未完全完成,不断更新ing,欢迎star gitbook地址: 适合阅读,可以导出pdf github地址: 翻译...
弱引用实现源码 程序员修炼秘籍(未完) 一名JAVA程序员,将自己的编程学习之路做以总结并进行分享。内容包括但不限于数据结构、算法、数据库、操作系统、计算机网络等多方面。 博文: 目前先暂列目录,内容在逐渐...
Java中弱引用软引用虚引用及强引用的区别Java开发Java经验技巧共3页.pdf.zip
弱引用实现源码 数据结构与算法学习之路 下面的算法都打包在一个应用当中,你只需要下载安装即可,里面有算法的介绍,时间复杂度,空间复杂度,代码示例 二叉树的遍历 二叉排序树 红黑树 AVL树 图的邻接表存储构成图...
Java 7之基础 - 强引用、弱引用、软引用、虚引用1
1.强引用1.强引用 2.软引用(SoftReference) 3.弱引用(WeakReference) 4.虚引用(PhantomReference) 等等;
本文介绍了弱引用是对一个对象的引用的持有者。使用弱引用后,可以维持对referent的引用,而不会阻止它被垃圾收集。当垃圾收集器跟踪堆的时候,如果对一个对象的引用只有弱引用,那么这个referent就会成为垃圾收集的...
主要介绍了深入理解Java中的弱引用,本文讲解了强引用、弱引用、引用队列、四种引用、软引用、虚引用等内容,需要的朋友可以参考下
本篇文章尝试从What、Why、How这三个角度来探索Java中的弱引用,理解Java中弱引用的定义、基本使用场景和使用方法。由于个人水平有限,叙述中难免存在不准确或是不清晰的地方,希望大家可以指出,谢谢大家:) 1....
在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,...
很早Java API就添加了弱引用(WeakReference)和软引用(SoftReference),但并不是所有的程序员都熟悉这两个概念
referenceInJava:Java强引用,软引用,弱引用以及虚引用测试项目
主要介绍了Java中强引用,软引用,弱引用概念解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
十分钟理解Java中的弱引用编程开发技术共3页.pdf.zip