Caffeine is the Java 8 successor to ConcurrentLinkedHashMap and Guava's cache. Projects should prefer Caffeine and migrate when requiring JDK8 or higher. The previous caching projects are supported in maintenance mode.
A high performance version of java.util.LinkedHashMap for use as a software cache. The project was migrated from its old website on Google Code.
See the design document and the StrangeLoop conference slides (Concurrent Caching at Google).
See the tutorial for examples of using this library.
See the Changelog for version history.
v2.x: Implement Low Inter-reference Recency Set page replacement policy.
Caffeine: A Java 8 rewrite of Guava Cache is the current focus for further development.
See the Changelog for more details and current progress.
Maven users should choose one of the dependencies based on their JDK version.
<!-- JDK 6 -->
<dependency>
<groupId>com.googlecode.concurrentlinkedhashmap</groupId>
<artifactId>concurrentlinkedhashmap-lru</artifactId>
<version>1.4.2</version>
</dependency>
<!-- JDK 5 -->
<dependency>
<groupId>com.googlecode.concurrentlinkedhashmap</groupId>
<artifactId>concurrentlinkedhashmap-lru</artifactId>
<version>1.2_jdk5</version>
</dependency>
In this benchmark an unbounded ConcurrentHashMap is compared to a ConcurrentLinkedHashMap v1.0 with a maximum size of 5,000 entries under an artificially high load (250 threads, 4-cores).