Package com.fasterxml.classmate.util
Class ConcurrentTypeCache
- java.lang.Object
-
- com.fasterxml.classmate.util.ResolvedTypeCache
-
- com.fasterxml.classmate.util.ConcurrentTypeCache
-
- All Implemented Interfaces:
Serializable
public class ConcurrentTypeCache extends ResolvedTypeCache
AlternativeResolvedTypeCacheimplementation that usesConcurrentHashMapfor efficient concurrent access and limits maximum entry count to specified maximum. But instead of trying to optimize retention by access (asLRUTypeCachedoes, will simply clear (remove all entries) if maximum size is reached. This works well as long as maximum size is large enough to cover most commonly resolved types, and works well for higher concurrency use cases.- See Also:
LRUTypeCache, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ConcurrentHashMap<ResolvedTypeKey,ResolvedType>_mapprotected int_maxEntries
-
Constructor Summary
Constructors Constructor Description ConcurrentTypeCache(int maxEntries)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ResolvedTypefind(ResolvedTypeKey key)voidput(ResolvedTypeKey key, ResolvedType type)intsize()-
Methods inherited from class com.fasterxml.classmate.util.ResolvedTypeCache
_addForTest, concurrentCache, key, key, lruCache
-
-
-
-
Field Detail
-
_maxEntries
protected final int _maxEntries
-
_map
protected final transient ConcurrentHashMap<ResolvedTypeKey,ResolvedType> _map
-
-
Method Detail
-
find
public ResolvedType find(ResolvedTypeKey key)
- Specified by:
findin classResolvedTypeCache
-
size
public int size()
- Specified by:
sizein classResolvedTypeCache
-
put
public void put(ResolvedTypeKey key, ResolvedType type)
- Specified by:
putin classResolvedTypeCache
-
-