使用自定义的轻量对象HashObjectMap替代jdk的HahMap
HashMap里的Entry占用较大内存,可以用自己实现的轻量级容器替换,步骤如下:
1、 缓存的对象需要继承BaseHashObject
/**
* 这个类主要完成HashMap的一些基本操作。
* 如果使用HashObjectMap来存储数据,则必须继承该类。
*/
public abstract class BaseHashObject implements HashObject
2、使用HashObjectMap作为容器存储数据
目前提供接口如下:
public BaseHashObject get(BaseHashObject object)
public T put(BaseHashObject object)
public boolean containsKey(BaseHashObject object)
实例代码:
try
{
HashObjectMap<UserInfo> objMap = new HashObjectMap<UserInfo>();
UserInfo u1 = new UserInfo("a1", "b1");
UserInfo u2 = new UserInfo("a2", "b2");
objMap.put(u1);
objMap.put(u2);
System.out.println(((UserInfo)objMap.get(u1)).getAccount());
System.out.println(objMap.containsKey(u2));
}
catch (Exception e)
{ e.printStackTrace();
}
源码已经陆续帖了出来 ,并且已经上传到CSDN