public class CachingIndexed<T> extends Object implements Indexed<T>, Closeable
Modifier and Type | Field and Description |
---|---|
static int |
INITIAL_CACHE_CAPACITY |
Constructor and Description |
---|
CachingIndexed(GenericIndexed<T> delegate,
int lookupCacheSize)
Creates a CachingIndexed wrapping the given GenericIndexed with a value lookup cache
CachingIndexed objects are not thread safe and should only be used by a single thread at a time.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
T |
get(int index) |
Class<? extends T> |
getClazz() |
int |
indexOf(T value)
Returns the index of "value" in this Indexed object, or a negative number if the value is not present.
|
void |
inspectRuntimeShape(RuntimeShapeInspector inspector)
Implementations of this method should call
inspector.visit() with all fields of this class, which meet two
conditions:
1. |
Iterator<T> |
iterator() |
int |
size() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public static final int INITIAL_CACHE_CAPACITY
public CachingIndexed(GenericIndexed<T> delegate, int lookupCacheSize)
delegate
- the GenericIndexed to wrap with a lookup cache.lookupCacheSize
- maximum size in bytes of the lookup cache if greater than zeropublic int indexOf(T value)
Indexed
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
public void inspectRuntimeShape(RuntimeShapeInspector inspector)
HotLoopCallee
inspector.visit()
with all fields of this class, which meet two
conditions:
1. They are used in methods of this class, annotated with CalledFromHotLoop
2. They are either:
a. Nullable objects
b. Instances of HotLoopCallee
c. Objects, which don't always have a specific class in runtime. For example, a field of type Set
could be HashSet
or TreeSet
in runtime, depending on how
this instance (the instance on which inspectRuntimeShape() is called) is configured.
d. ByteBuffer or similar objects, where byte order matters
e. boolean flags, affecting branch taking
f. Arrays of objects, meeting any of conditions a-e.inspectRuntimeShape
in interface HotLoopCallee
Copyright © 2011–2018. All rights reserved.