Linux时钟简介 RedHat Linux操作系统修改时区的方法
2014-10-17 19:02
513 查看
http://mzlly999.iteye.com/blog/1126049
WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值,
见实例:此例子中声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a、b两个对象,当HashMap remove掉a 并且将a、b都指向null时,WeakHashMap中的a将自动被回收掉。出现这个状况的原因是,对于a对象而言,当HashMap remove掉并且将a指向null后,除了WeakHashMap中还保存a外已经没有指向a的指针了,所以WeakHashMap会自动舍弃掉a,而对于b对象虽然指向了null,但HashMap中还有指向b的指针,所以
WeakHashMap将会保留
WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值,
见实例:此例子中声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a、b两个对象,当HashMap remove掉a 并且将a、b都指向null时,WeakHashMap中的a将自动被回收掉。出现这个状况的原因是,对于a对象而言,当HashMap remove掉并且将a指向null后,除了WeakHashMap中还保存a外已经没有指向a的指针了,所以WeakHashMap会自动舍弃掉a,而对于b对象虽然指向了null,但HashMap中还有指向b的指针,所以
WeakHashMap将会保留
package test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.WeakHashMap; public class Test { public static void main(String[] args) throws Exception { String a = new String("a"); String b = new String("b"); Map weakmap = new WeakHashMap(); Map map = new HashMap(); map.put(a, "aaa"); map.put(b, "bbb"); weakmap.put(a, "aaa"); weakmap.put(b, "bbb"); map.remove(a); a=null; b=null; System.gc(); Iterator i = map.entrySet().iterator(); while (i.hasNext()) { Map.Entry en = (Map.Entry)i.next(); System.out.println("map:"+en.getKey()+":"+en.getValue()); } Iterator j = weakmap.entrySet().iterator(); while (j.hasNext()) { Map.Entry en = (Map.Entry)j.next(); System.out.println("weakmap:"+en.getKey()+":"+en.getValue()); } } }
相关文章推荐
- Linux时钟简介 RedHat Linux操作系统修改时区的方法
- Linux操作系统下SSH默认22端口修改方法。
- Redhat Linux Enterprise Server 5.5 x86_64位操作系统Karachi时区问题?
- Linux下修改时间时区的方法介绍
- Linux永久修改系统时间和时区方法
- 修改 Redhat enterprise linux 5 root 密码方法
- Linux操作系统上安装MYSQL数据库的方法 (附加修改初始密码)
- Linux操作系统下SSH默认22端口修改方法
- linux修改时区不需要重启的方法
- Linux如何修改系统时间和时区方法
- linux修改系统时间和linux查看时区、修改时区的方法
- redhat linux操作系统不破坏除根分区以外分区的数据的安装方法
- Linux and Unix下修改时区的方法
- linux操作系统修改共享内存的简单方法
- linux修改系统时间和linux查看时区、修改时区的方法
- linux操作系统下修改MAC地址方法
- Linux操作系统ssh默认22端口修改方法
- LINUX操作系统手机刷机包制作、修改方法
- Linux操作系统上安装MYSQL数据库的方法 (附加修改初始密码)
- linux查看及修改时区的方法