Package org.apache.lucene.util
Class FrequencyTrackingRingBuffer
java.lang.Object
org.apache.lucene.util.FrequencyTrackingRingBuffer
- All Implemented Interfaces:
Accountable
A ring buffer that tracks the frequency of the integers that it contains. This is typically
useful to track the hash codes of popular recently-used items.
This data-structure requires 22 bytes per entry on average (between 16 and 28).
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
Field Summary
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
ConstructorsConstructorDescriptionFrequencyTrackingRingBuffer(int maxSize, int sentinel) Create a new ring buffer that will contain at mostmaxSizeitems. -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(int i) Add a new item to this ring buffer, potentially removing the oldest entry from this buffer if it is already full.intfrequency(int key) Returns the frequency of the provided key in the ring buffer.longReturn the memory usage of this object in bytes.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
Constructor Details
-
FrequencyTrackingRingBuffer
public FrequencyTrackingRingBuffer(int maxSize, int sentinel) Create a new ring buffer that will contain at mostmaxSizeitems. This buffer will initially containmaxSizetimes thesentinelvalue.
-
-
Method Details
-
ramBytesUsed
public long ramBytesUsed()Description copied from interface:AccountableReturn the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsedin interfaceAccountable
-
add
public void add(int i) Add a new item to this ring buffer, potentially removing the oldest entry from this buffer if it is already full. -
frequency
public int frequency(int key) Returns the frequency of the provided key in the ring buffer.
-