|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectsimple.util.cache.TimeCache
public class TimeCache
This is a LRU, Least Recently Used, TimeCache
for caching
objects. This ensures that the TimeCache
does not allow
too many objects to be cached. This does not account for anything
other than the number of lockable regions, i.e. synchronized Least
Recently Used lists, and the maximum number of items a region can
have before it removes the least recently used objects.
When objects are cached they can be cached for a specified number of
miliseconds, when this expires then the time cache will remove the
item, this removal is very accurate to the timeout specified for the
object. If no time out is given a default timeout for this is used.
The maximum capacity of the TimeCache
is regions * limit,
however this does not provide an exact Least Recently Used semantic
as some regions are likely to have more hits than others.
Constructor Summary | |
---|---|
TimeCache()
This is used to create a TimeCache object for storing
objects. |
|
TimeCache(int regions,
int limit)
This is used to create a TimeCache object for storing
objects. |
|
TimeCache(int regions,
int limit,
int timeout)
This is a constructor method used by 'this' to specify the characteristics that the TimeCache may have. |
Method Summary | |
---|---|
void |
cache(java.lang.Object key,
java.lang.Object obj)
This will store the object given in the TimeCache
under the reference specified. |
void |
cache(java.lang.Object key,
java.lang.Object obj,
int timeout)
This will store the object given in the TimeCache
under the reference specified. |
void |
clear()
This will remove all items from the TimeCache . |
boolean |
contains(java.lang.Object key)
This will check to see if an object exists within the TimeCache . |
java.lang.Object |
lookup(java.lang.Object key)
This will search the TimeCache to see if the item
in the time cache. |
java.lang.Object |
remove(java.lang.Object key)
This will remove the object cached using the specified key. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TimeCache()
TimeCache
object for storing
objects. This cache implementation is an Least Recently Used cache
meaning that the Least Recently Used items are removed if the
size of a region grows to large. This has a maximum capacity
of 60, unlikely.
public TimeCache(int regions, int limit)
TimeCache
object for storing
objects. This cache implementation is an Least Recently Used cache
meaning that the Least Recently Used items are removed if the
size if the region grows to large. This constructor configures
the TimeCache
as specified.
regions
- number of regions that are synchronizedlimit
- the maximum amount of objects per regionpublic TimeCache(int regions, int limit, int timeout)
TimeCache
may have. This
will allow the max timeout to be specified for the
TimeCache
.
regions
- number of regions that are synchronizedlimit
- the maximum amount of objects per regiontimeout
- the default timeout peroid for an objectMethod Detail |
---|
public void cache(java.lang.Object key, java.lang.Object obj)
TimeCache
under the reference specified. The object may exist in the
TimeCache
for a limited time only specified by a
timeout.
key
- this is the key that references the objectobj
- this is the object that is to be storedpublic void cache(java.lang.Object key, java.lang.Object obj, int timeout)
TimeCache
under the reference specified. The object may exist in the
TimeCache
for a limited time only specified by a
timeout.
key
- this is the key that references the objectobj
- this is the object that is to be storedtimeout
- max amount of time this can be
cached.public java.lang.Object lookup(java.lang.Object key)
TimeCache
to see if the item
in the time cache. If it is in the cache this will return it.
This provides a very concurrent lookup mechanism, where threads
have less contention for locks, as the key decides which list
to use based on the value of the key hash code.
key
- this is the key that references the object
public boolean contains(java.lang.Object key)
TimeCache
. If it exists this returns true else
false.
key
- this is the key that references the object
public java.lang.Object remove(java.lang.Object key)
key
- this is the key that references the objectpublic void clear()
TimeCache
.
This is used to synchronize the cached objects.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |