|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.mckoi.util.Cache
public class Cache
Represents a cache of Objects. A Cache is similar to a Hashtable, in that you can 'add' and 'get' objects from the container given some key. However a cache may remove objects from the container when it becomes too full.
The cache scheme uses a doubly linked-list hashtable. The most recently accessed objects are moved to the start of the list. The end elements in the list are wiped if the cache becomes too full.
Constructor Summary | |
---|---|
Cache()
|
|
Cache(int max_size)
|
|
Cache(int max_size,
int clean_percentage)
|
|
Cache(int hash_size,
int max_size,
int clean_percentage)
The Constructors. |
Method Summary | |
---|---|
protected void |
checkClean()
This is called whenever at Object is put into the cache. |
protected int |
clean()
Cleans away some old elements in the cache. |
void |
clear()
|
java.lang.Object |
get(java.lang.Object key)
If the cache contains the cell with the given key, this method will return the object. |
protected int |
getHashSize()
Deprecated. |
int |
nodeCount()
Returns the number of nodes that are currently being stored in the cache. |
protected void |
notifyGetWalks(long total_walks,
long total_get_ops)
Notifies that some statistical information about the hash map has updated. |
protected void |
notifyWipingNode(java.lang.Object ob)
Notifies that the given object has been wiped from the cache by the clean up procedure. |
void |
put(java.lang.Object key,
java.lang.Object ob)
Puts an Object into the cache with the given key. |
java.lang.Object |
remove(java.lang.Object key)
Ensures that there is no cell with the given key in the cache. |
void |
removeAll()
Clear the cache of all the entries. |
protected boolean |
shouldWipeMoreNodes()
Returns true if the clean-up method that periodically cleans up the cache, should clean up more elements from the cache. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Cache(int hash_size, int max_size, int clean_percentage)
public Cache(int max_size, int clean_percentage)
public Cache(int max_size)
public Cache()
Method Detail |
---|
protected final int getHashSize()
protected void checkClean()
protected boolean shouldWipeMoreNodes()
protected void notifyWipingNode(java.lang.Object ob)
protected void notifyGetWalks(long total_walks, long total_get_ops)
This method is called every 8192 gets.
public final int nodeCount()
public final void put(java.lang.Object key, java.lang.Object ob)
public final java.lang.Object get(java.lang.Object key)
public final java.lang.Object remove(java.lang.Object key)
public void removeAll()
public void clear()
protected final int clean()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |