Skip to content
Ben Manes edited this page May 15, 2015 · 21 revisions

Caffeine is a Java 8 based concurrency library that provides specialized data structures not provided by the excellent standard library.

Collections

  • ConcurrentLinkedStack: A lock-free stack that employs elimination and combining to reduce contention.
  • SingleConsumerQueue: A lock-free queue that supports concurrent producers, is restricted to a single consumer, and employs combining to reduce contention.

Caches

A high performance cache with a Google Guava inspired API. This implementation draws on the author's experience designing ConcurrentLinkedHashMap and co-authoring Guava's Cache. The API is extended to include an asynchronous cache and to expose low-level options like changing the maximum size, expiration timeouts, and traversing in retention order.

Cache extensions include tracing, simulation, JSR-107 JCache integration, and Guava adapters.

Clone this wiki locally