Skip to content
Ben Manes edited this page Mar 23, 2015 · 21 revisions

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

Collections

  • EliminationStack: A lock-free stack that employs an elimination backoff arena to cancel operations with reverse semantics.
  • SingleConsumerQueue: A lock-free queue that supports concurrent producers and is restricted to a single consumer.

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.