Class PageCache<ATTR extends Attributes.Any>
java.lang.Object
com.illumon.util.datastructures.intrusive.IntrusiveSoftLRU<PageCache.IntrusivePage<ATTR>>
com.illumon.iris.db.v2.locations.parquet.PageCache<ATTR>
public class PageCache<ATTR extends Attributes.Any> extends IntrusiveSoftLRU<PageCache.IntrusivePage<ATTR>>
A Cache for
IntrusivePages
. This datastructure stores pages as soft references and maintains
them as an LRU cache. Externally references can be held as WeakReferences so that as memory pressure builds they
can be evicted from the cache.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PageCache.IntrusivePage<ATTR extends Attributes.Any>
Intrusive data structure for page caching.Nested classes/interfaces inherited from class com.illumon.util.datastructures.intrusive.IntrusiveSoftLRU
IntrusiveSoftLRU.Adapter<T>, IntrusiveSoftLRU.Node<T extends IntrusiveSoftLRU.Node<T>>
-
Constructor Summary
Constructors Constructor Description PageCache(int initialSize, int maxSize)
-
Method Summary
Modifier and Type Method Description <ATTR2 extends Attributes.Any>
PageCache<ATTR2>castAttr()
static <ATTR extends Attributes.Any>
WeakReference<PageCache.IntrusivePage<ATTR>>getNullPage()
Methods inherited from class com.illumon.util.datastructures.intrusive.IntrusiveSoftLRU
clear, touch
-
Constructor Details
-
PageCache
public PageCache(int initialSize, int maxSize)
-
-
Method Details
-
getNullPage
public static <ATTR extends Attributes.Any> WeakReference<PageCache.IntrusivePage<ATTR>> getNullPage()- Returns:
- The null page sentinel
-
castAttr
-