blob: 7154b896f34a4021868f06765bde37d516d53725 [file] [log] [blame]
Yet Another Java Cache
----------------------
http://yajcache.sourceforge.net
Currently supports both in jdk1.5
a) soft reference memory-only cache; and
b) soft reference memory-file cache with unlimited overflow.
Features
--------
* zero configuration
* zero thread instantiation
* minimal memory impact (controlled by GC via SoftReference)
* no synchronized block
* no synchronized method
* minimal synchronization done via distributed (ie keyed) ReadWrite locks
with zero synchronization
* all unused ReadWrite locks are automatically removed by GC
via WeakReference
* the cache instance itself (ICache or ICacheSafe) can be used
anywhere a map instance can be used
* optional ICacheSafe to provide thread-safe objects
for cache get/put via either Serializable or Java Bean patterns
* Intelligent guess to avoid deep clone whenever possible when
ICacheSafe is used
* String-only key constraint to avoid mutability issues
* Fully parameterized cache value type
* junit test cases, including emulation of hard-to-test
data race conditions
Usage
-----
All caches should be retrieved or removed via
org.apache.jcs.yajcache.core.CacheManager
Pre-requisite
-------------
1) jdk 1.5.0_01+ installed
1) Ant 1.6.2+ installed
2) copy lib/junit-3.8.1.jar to your <ANT_HOME>/lib/
3) For memory-file cache, the library needs to create a root directory
/tmp/yajcache/
and have complete access privilege of everything under it.
Build
-----
Simply type:
ant
Alternatively, if you've got NetBeans 4.0, life is even easier.
Simply open up the "cache" project folder, and build it.
Cheers,
Hanson Char
hchar@apache.org