http://www.java2s.com/Code/Java/Collections-Data-Structure/ExpiringMap.htmExpiringMap或基于TTL的高速缓存
Q1)我在看上面的高速缓存代码。我很困惑getLastAccessTime被调用时为什么需要锁。该方法仅由Expirer线程调用。 Q2)假设,如果Map仅由线程调用,那么我们是否需要在ExpiringObject中有一个可重入锁。因为setLastAccessTime在调用Map的put方法时仅由线程调用,并且由Expirer线程调用getLastAccessTime方法。 我问的原因是,我测试了插入1M个对象,Reentrant Lock需要超过100MB
是的,我决定使用EhCache,但我想知道解决方案。你所有的建议都非常出色。 – Paul 2015-03-13 20:16:40