java集合WeakHashMap测试
来源:互联网 发布:淘宝宜家代购是真的吗 编辑:程序博客网 时间:2024/06/05 22:59
import java.util.*;
/**
* WeakHashMap:一个weak key的Map,
* 是为某些特殊问题而设计的。它能让Map释放其所持有的对象。
* 如果某个对象除了在Map当中充当键之外,
* 在其他地方都没有引用的话,那它将被当作垃圾回收。
*/
public class WeakHashMapTest
{
public static void main(String[] args)
{
//
WeakHashMap whm = new WeakHashMap();
//放入两个没有外部引用的键值对
whm.put(new String("语文") , new String("良好"));
whm.put(new String("数学") , new String("及格"));
System.out.println("原有的集合元素:whm="+whm);//whm={数学=及格, 语文=良好}
//key语文和数学,没有外部的引用指向它
//垃圾回收器会回收调这两个键值对key-value
//语文--良好,数学--及格
// 通知系统立即进行垃圾回收,
System.gc();
System.runFinalization();
//垃圾回收器把集合中这两个没有外部引用的键值对释放掉
System.out.print("垃圾回收器,回收没有外部引用的WeakHashMap集合元素: whm="+whm+"\n");//whm={}
System.out.println("-------------------------------");
String yy = new String("英文");
whm.put(yy , new String("中等"));//放入有外部引用的键值对的
System.out.println("whm="+whm);//whm={英文=中等}
// 通知系统立即进行垃圾回收
System.gc();
System.runFinalization();
System.out.println("有外部引用指向的集合元素,垃圾回收器不会回收:");
System.out.println("whm="+whm);//whm={英文=中等} 有外部引用不回收
yy=null;//把外部引用置空
System.out.println("外部引用置空后:");
System.gc();
System.runFinalization();
System.out.println("whm="+whm);
System.out.println("-------------------------------");
whm.put("java" , new String("中等"));//key "java" 在常量区,垃圾会收器回收不到
System.out.println(whm);
System.gc();
System.runFinalization();
System.out.println("垃圾回收器无法通过常量区的键回收:");
System.out.println(whm);
}
}
/**
* WeakHashMap:一个weak key的Map,
* 是为某些特殊问题而设计的。它能让Map释放其所持有的对象。
* 如果某个对象除了在Map当中充当键之外,
* 在其他地方都没有引用的话,那它将被当作垃圾回收。
*/
public class WeakHashMapTest
{
public static void main(String[] args)
{
//
WeakHashMap whm = new WeakHashMap();
//放入两个没有外部引用的键值对
whm.put(new String("语文") , new String("良好"));
whm.put(new String("数学") , new String("及格"));
System.out.println("原有的集合元素:whm="+whm);//whm={数学=及格, 语文=良好}
//key语文和数学,没有外部的引用指向它
//垃圾回收器会回收调这两个键值对key-value
//语文--良好,数学--及格
// 通知系统立即进行垃圾回收,
System.gc();
System.runFinalization();
//垃圾回收器把集合中这两个没有外部引用的键值对释放掉
System.out.print("垃圾回收器,回收没有外部引用的WeakHashMap集合元素: whm="+whm+"\n");//whm={}
System.out.println("-------------------------------");
String yy = new String("英文");
whm.put(yy , new String("中等"));//放入有外部引用的键值对的
System.out.println("whm="+whm);//whm={英文=中等}
// 通知系统立即进行垃圾回收
System.gc();
System.runFinalization();
System.out.println("有外部引用指向的集合元素,垃圾回收器不会回收:");
System.out.println("whm="+whm);//whm={英文=中等} 有外部引用不回收
yy=null;//把外部引用置空
System.out.println("外部引用置空后:");
System.gc();
System.runFinalization();
System.out.println("whm="+whm);
System.out.println("-------------------------------");
whm.put("java" , new String("中等"));//key "java" 在常量区,垃圾会收器回收不到
System.out.println(whm);
System.gc();
System.runFinalization();
System.out.println("垃圾回收器无法通过常量区的键回收:");
System.out.println(whm);
}
}
阅读全文
0 0
- java集合WeakHashMap测试
- Java集合之WeakHashMap
- Java集合框架:WeakHashMap
- 10.Java 集合 - WeakHashMap
- 《java集合》--WeakHashMap
- Java集合框架:WeakHashMap
- Java--集合--WeakHashMap
- java集合框架系列---WeakHashMap
- java 弱引用集合类WeakHashMap
- java集合第八章WeakHashMap的用法
- java集合框架系列-WeakHashMap介绍
- Java 集合:Map 系列(WeakHashMap概念)
- java集合13--WeakHashMap源码详解
- Java 集合:Map 系列(WeakHashMap概念)
- Java集合之WeakHashMap、IdentityHashMap、EnumMap介绍
- java集合13--WeakHashMap源码详解
- java WeakHashMap
- Java WeakHashMap
- el 表达式的方法
- NFS文件系统操作命令
- xynuoj 2-1 连乘计算
- HDU 5972 Regular Number Bitset (字符串匹配shift and/or)
- XYNU OJ 1110—1121基础题(适合于C语言初学者)
- java集合WeakHashMap测试
- 精确探测时间
- Java对象克隆详解
- 解析结构体和位段
- [学习笔记] 点分治学习笔记
- 深度学习(Deep Learning) 学习笔记整理系列- 八
- 程序员,为什么写不好一份简历?
- 网络爬虫工作原理详解
- 指定环境变量