org.apache.avalon.excalibur.cache.policy
Class  TimeMapLRUPolicy
java.lang.Object
  |
  +--org.apache.avalon.excalibur.cache.policy.TimeMapLRUPolicy
- All Implemented Interfaces: 
 - ReplacementPolicy
 
- public class TimeMapLRUPolicy
- extends java.lang.Object
- implements ReplacementPolicy
   
TimeMapLRU(Least Recently Used) replacement policy.
 Use a TreeMap with logical time to perform LRU selectVictim operations.
 On large cache this implementation should be really faster (since it uses a
 log(n) treemap plus an hashmap) than the current LRU implem that is working with a List.
- Author: 
 - Alexis Agahi
 
 
 
| 
Method Summary | 
 void | 
add(java.lang.Object key)
 
            | 
 void | 
hit(java.lang.Object key)
 
            | 
 void | 
remove(java.lang.Object key)
 
            | 
 java.lang.Object | 
selectVictim()
 
            | 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
m_timeToKeyMap
protected java.util.TreeMap m_timeToKeyMap
m_keyToTimeMap
protected java.util.HashMap m_keyToTimeMap
TimeMapLRUPolicy
public TimeMapLRUPolicy()
hit
public void hit(java.lang.Object key)
- Specified by: 
 hit in interface ReplacementPolicy
 
add
public void add(java.lang.Object key)
- Specified by: 
 add in interface ReplacementPolicy
 
remove
public void remove(java.lang.Object key)
- Specified by: 
 remove in interface ReplacementPolicy
 
selectVictim
public java.lang.Object selectVictim()
- Specified by: 
 selectVictim in interface ReplacementPolicy
 
Copyright © 2001 Apache Jakarta Project. All Rights Reserved.