Caffeine
A high performance caching library for Java
...In some cases a LoadingCache or AsyncLoadingCache can be useful even if it doesn't evict entries, due to its automatic cache loading. To improve integration, JSR-107 JCache and Guava adapters are provided in extension modules. JSR-107 standardizes a Java 6 based API to minimize vendor specific code at the cost of features and performance. Guava's Cache is the predecessor library and the adapters provide a simple migration strategy. Automatic loading of entries into the cache, optionally asynchronously and size-based eviction when a maximum is exceeded based on frequency and recency.