com.holmos.cache.size.DataDictionary Maven / Gradle / Ivy
package com.holmos.cache.size;
import java.util.HashMap;
import java.util.LinkedList;
/**
* 缓存的数据字典,里面存储两个字典:
*
* 缓存中包含对象的类型所占用内存大小,类似C++中的sizeof计算
* 缓存中的对象使用情况,保存对象和被引用次数的key-value对
*
* @author 吴银龙([email protected])
* */
public class DataDictionary {
private static volatile DataDictionary dataDictionary;
public static DataDictionary getInstance(){
synchronized(DataDictionary.class){
if(null==dataDictionary)
dataDictionary=new DataDictionary();
return dataDictionary;
}
}
/**缓存中包含对象的类型所占用内存大小的字典*/
private HashMap, Integer> typeSizeDic;
/**缓存中的对象使用情况字典*/
private HashMap