【发布时间】:2015-03-13 17:15:42
【问题描述】:
http://www.java2s.com/Code/Java/Collections-Data-Structure/ExpiringMap.htm
Q1) 我在看上面的缓存代码。我很困惑为什么在调用 getLastAccessTime 时我们需要一个锁。该方法仅由 Expirer 线程调用。
Q2) 假设,如果 Map 仅由线程调用,那么我们是否需要 ExpiringObject 中的可重入锁。因为调用Map的put方法时setLastAccessTime只有线程调用,而Expirer线程调用getLastAccessTime方法。 我问的原因是,我测试插入 1M 个对象,可重入锁占用超过 100MB
【问题讨论】:
标签: java caching collections locks lru