貌似一般对象放到map里就能缓存阿,没有什么能不能缓存之分阿

解决方案 »

  1.   

    HashMap等java提供的容器是自动增长的,所以如果不加容量控制,缓存   
    的东东就很轻易的过大过多,内存消耗过快.Cacheable接口只有一个方法getSize()。它要求所有继承类实现该方法,并输出占用缓存的大小,以便实施管理。那么为什么CacheableInt. getSize()得到的是sizeOfObject()+sizeOfInt()呢?因为任何类都继承自Object,计算空间时当然也要把它算上了。 
    还有一个CacheObject类,它是缓存的基本元素,来看一下它的代码: 
     public final class CacheObject {
     public Cacheable object;
     public int size;
     public LinkedListNode lastAccessedListNode;
     public LinkedListNode ageListNode;
     
     public CacheObject(Cacheable object, int size) {
     this.object = object;
     this.size = size;
     }
    }
      

  2.   

    实现了getSize()就能防止缓存的东西过大么?这是什么道理啊?
      

  3.   

    Cacheable接口不是jdk里的啊
    jive里的?