OSCache中将同一个对象放在Cache中两次,那么取出来是一个对象还是两个对象?

RosickyNewBee 2010-04-23 12:46:49
问题1:

String id = "id1";
Object obj = new ....();
Cache.put(id,obj);
id = "id2"
Cache.put(id,obj);

如上代码,我根据id1和id2取出来的是一个对象还是两个对象?或者这么问:
这两个对象在memory中是一个还是两个Copy?

问题2:

Car car = new Car();
Wheel wheel = new Wheel();
car.setWheel(wheel);
Cache.put(id,car);

我从cache中把Car取出来,car里面有没有Wheel呢?
如果我再加上一条语句
Cache.put(wheel)
结果会不一样吗?
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
RosickyNewBee 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zfq642773391 的回复:]

一般cache都是在内部用容器存储对象的,用的时候再取出来
而容器里面存储的是对象的引用
[/Quote]
容器里面存的是对象的引用,那么对象存在哪里呢?容器外面吗?
zfq642773391 2010-04-26
  • 打赏
  • 举报
回复
一般cache都是在内部用容器存储对象的,用的时候再取出来
而容器里面存储的是对象的引用
amdgaming 2010-04-26
  • 打赏
  • 举报
回复
不知道
oscache的原理,据我只知道它的实现也是map吧,那么后面一个会把前面一个 覆盖
RosickyNewBee 2010-04-25
  • 打赏
  • 举报
回复
没人回?

62,621

社区成员

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

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