Package org.jruby.javasupport.util
Class ObjectProxyCache.Segment<T,A>
java.lang.Object
java.util.concurrent.locks.ReentrantLock
org.jruby.javasupport.util.ObjectProxyCache.Segment<T,A>
- All Implemented Interfaces:
Serializable,Lock
- Enclosing class:
- ObjectProxyCache<T,
A>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final ObjectProxyCache<T,A> (package private) ObjectProxyCache.Entry<T>[](package private) final ReferenceQueue<Object>(package private) int(package private) int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate intcount()private voidexpunge()(package private) T(package private) TgetOrCreate(Object object, int hash, A allocator) (package private) static final <T,A> ObjectProxyCache.Segment<T, A>[] newArray(int size) (package private) voidprivate ObjectProxyCache.Entry<T>[]rehash()private voidremove(ObjectProxyCache.Entry<T>[] table, int hash, ObjectProxyCache.Entry<T> e) Methods inherited from class java.util.concurrent.locks.ReentrantLock
getHoldCount, getOwner, getQueuedThreads, getQueueLength, getWaitingThreads, getWaitQueueLength, hasQueuedThread, hasQueuedThreads, hasWaiters, isFair, isHeldByCurrentThread, isLocked, lock, lockInterruptibly, newCondition, toString, tryLock, tryLock, unlock
-
Field Details
-
cache
-
referenceQueue
-
entryTable
-
tableSize
int tableSize -
threshold
int threshold
-
-
Constructor Details
-
Segment
Segment(int capacity, ObjectProxyCache<T, A> cache)
-
-
Method Details
-
expunge
private void expunge() -
remove
-
count
private int count() -
rehash
-
put
-
getOrCreate
-
get
-
newArray
-