zoukankan      html  css  js  c++  java
  • java垃圾回收之Map【原创】

      一直以来,都很喜欢用Map,在小规模应用中,用用Map也没什么,但是应用一大,内存应用方面就要注意了。
      几个月前,做项目的时候用到Map,在一篇文章中,我记得说过Map的回收有问题,一试,果然,当设置为null时,还是不能有效进行回收,找了些资料,最后发现了WeakHashMap,当没有指针指向value时,key会被回收,就用它做了个CacheMap,需要多加一个方法
    package org.ofbiz.payment.common;

    import java.util.Iterator;
    import java.util.WeakHashMap;

    /**
     * 
    @author zxub 2006-3-22 10:03:22
     
    */
    public class CacheMap extends WeakHashMap
    {
        
    public Object getKeyByValue(Object value)
        {
            Object returnValue 
    = null;
            Object key 
    = null;
            
    for (Iterator iter = this.keySet().iterator(); iter.hasNext();)
            {
                key 
    = iter.next();
                
    if (this.get(key).equals(value))
                {
                    returnValue 
    = key;
                    
    break;
                }
            }
            
    return returnValue;
        }
    }
      这里的应用刚好与Map相反了,经测试,能有效释放内存。
  • 相关阅读:
    xampp 80端口被占用后这么办??解决了
    XAMPP配置基于虚拟目录、多域名的环境
    mysql 主从同步
    jquery插件
    Css绘制箭头实现代码
    Ubuntu下mount命令的好用处
    linux下IPTABLES配置详解
    java程序员网站
    1.Hibernate介绍
    1. Mybatis介绍
  • 原文地址:https://www.cnblogs.com/zxub/p/430893.html
Copyright © 2011-2022 走看看