Cacheable接口是干嘛用的?

bloodrate 2008-05-29 11:33:42
貌似一般对象放到map里就能缓存阿,没有什么能不能缓存之分阿
...全文
246 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bloodrate 2008-05-30
  • 打赏
  • 举报
回复
实现了getSize()就能防止缓存的东西过大么?这是什么道理啊?
刘彬彬 2008-05-30
  • 打赏
  • 举报
回复
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;
}
}
GODProbe 2008-05-30
  • 打赏
  • 举报
回复
Cacheable接口不是jdk里的啊
jive里的?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧