static final class MultiKeyConcurrentHashMap.Segment<K,V>
extends java.util.concurrent.locks.ReentrantLock
Modifier and Type | Field and Description |
---|---|
(package private) int |
count
The number of elements in this segment's region.
|
(package private) float |
loadFactor
The load factor for the hash table.
|
(package private) int |
modCount
Number of updates that alter the size of the table.
|
(package private) MultiKeyConcurrentHashMap.HashEntry[] |
table
The per-segment table.
|
(package private) int |
threshold
The table is rehashed when its size exceeds this threshold.
|
Constructor and Description |
---|
Segment(int initialCapacity,
float lf) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
clear() |
(package private) boolean |
containsKey(java.lang.Object key1,
java.lang.Object key2,
java.lang.Object key3,
java.lang.Object key4,
int hash) |
(package private) boolean |
containsValue(java.lang.Object value) |
(package private) V |
get(java.lang.Object key1,
java.lang.Object key2,
java.lang.Object key3,
java.lang.Object key4,
int hash) |
(package private) MultiKeyConcurrentHashMap.HashEntry<K,V> |
getFirst(int hash)
Return properly casted first entry of bin for given hash
|
(package private) V |
put(K key1,
K key2,
K key3,
K key4,
int hash,
V value,
boolean onlyIfAbsent) |
(package private) V |
readValueUnderLock(MultiKeyConcurrentHashMap.HashEntry<K,V> e)
Read value field of an entry under lock.
|
(package private) void |
rehash() |
(package private) V |
remove(java.lang.Object key1,
java.lang.Object key2,
java.lang.Object key3,
java.lang.Object key4,
int hash,
java.lang.Object value)
Remove; match on key only if value null, else match both.
|
(package private) V |
replace(K key1,
K key2,
K key3,
K key4,
int hash,
V newValue) |
(package private) boolean |
replace(K key1,
K key2,
K key3,
K key4,
int hash,
V oldValue,
V newValue) |
(package private) void |
setTable(MultiKeyConcurrentHashMap.HashEntry[] newTable)
Set table to new HashEntry array.
|
getHoldCount, getOwner, getQueuedThreads, getQueueLength, getWaitingThreads, getWaitQueueLength, hasQueuedThread, hasQueuedThreads, hasWaiters, isFair, isHeldByCurrentThread, isLocked, lock, lockInterruptibly, newCondition, toString, tryLock, tryLock, unlock
volatile int count
int modCount
int threshold
volatile MultiKeyConcurrentHashMap.HashEntry[] table
final float loadFactor
void setTable(MultiKeyConcurrentHashMap.HashEntry[] newTable)
MultiKeyConcurrentHashMap.HashEntry<K,V> getFirst(int hash)
V readValueUnderLock(MultiKeyConcurrentHashMap.HashEntry<K,V> e)
V get(java.lang.Object key1, java.lang.Object key2, java.lang.Object key3, java.lang.Object key4, int hash)
boolean containsKey(java.lang.Object key1, java.lang.Object key2, java.lang.Object key3, java.lang.Object key4, int hash)
boolean containsValue(java.lang.Object value)
void rehash()
V remove(java.lang.Object key1, java.lang.Object key2, java.lang.Object key3, java.lang.Object key4, int hash, java.lang.Object value)
void clear()
Copyright © 2002-2013 Oracle America, Inc. All Rights Reserved.