本文整理汇总了Java中java.lang.ref.Reference.enqueue方法的典型用法代码示例。如果您正苦于以下问题:Java Reference.enqueue方法的具体用法?Java Reference.enqueue怎么用?Java Reference.enqueue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.lang.ref.Reference
的用法示例。
在下文中一共展示了Reference.enqueue方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testDrainKeyReferenceQueueOnWrite
import java.lang.ref.Reference; //导入方法依赖的package包/类
public void testDrainKeyReferenceQueueOnWrite() {
for (MapMaker maker : allWeakKeyStrengthMakers()) {
MapMakerInternalMap<Object, Object, ?, ?> map = makeMap(maker.concurrencyLevel(1));
if (maker.getKeyStrength() == Strength.WEAK) {
Segment<Object, Object, ?, ?> segment = map.segments[0];
Object keyOne = new Object();
int hashOne = map.hash(keyOne);
Object valueOne = new Object();
Object keyTwo = new Object();
Object valueTwo = new Object();
map.put(keyOne, valueOne);
InternalEntry<Object, Object, ?> entry = segment.getEntry(keyOne, hashOne);
@SuppressWarnings("unchecked")
Reference<Object> reference = (Reference) entry;
reference.enqueue();
map.put(keyTwo, valueTwo);
assertFalse(map.containsKey(keyOne));
assertFalse(map.containsValue(valueOne));
assertNull(map.get(keyOne));
assertEquals(1, map.size());
assertNull(segment.getKeyReferenceQueueForTesting().poll());
}
}
}
示例2: testDrainValueReferenceQueueOnWrite
import java.lang.ref.Reference; //导入方法依赖的package包/类
public void testDrainValueReferenceQueueOnWrite() {
for (MapMaker maker : allWeakValueStrengthMakers()) {
MapMakerInternalMap<Object, Object, ?, ?> map = makeMap(maker.concurrencyLevel(1));
if (maker.getValueStrength() == Strength.WEAK) {
Segment<Object, Object, ?, ?> segment = map.segments[0];
Object keyOne = new Object();
int hashOne = map.hash(keyOne);
Object valueOne = new Object();
Object keyTwo = new Object();
Object valueTwo = new Object();
map.put(keyOne, valueOne);
@SuppressWarnings("unchecked")
WeakValueEntry<Object, Object, ?> entry =
(WeakValueEntry<Object, Object, ?>) segment.getEntry(keyOne, hashOne);
WeakValueReference<Object, Object, ?> valueReference = entry.getValueReference();
@SuppressWarnings("unchecked")
Reference<Object> reference = (Reference) valueReference;
reference.enqueue();
map.put(keyTwo, valueTwo);
assertFalse(map.containsKey(keyOne));
assertFalse(map.containsValue(valueOne));
assertNull(map.get(keyOne));
assertEquals(1, map.size());
assertNull(segment.getValueReferenceQueueForTesting().poll());
}
}
}
示例3: testDrainKeyReferenceQueueOnRead
import java.lang.ref.Reference; //导入方法依赖的package包/类
public void testDrainKeyReferenceQueueOnRead() {
for (MapMaker maker : allWeakKeyStrengthMakers()) {
MapMakerInternalMap<Object, Object, ?, ?> map = makeMap(maker.concurrencyLevel(1));
if (maker.getKeyStrength() == Strength.WEAK) {
Segment<Object, Object, ?, ?> segment = map.segments[0];
Object keyOne = new Object();
int hashOne = map.hash(keyOne);
Object valueOne = new Object();
Object keyTwo = new Object();
map.put(keyOne, valueOne);
InternalEntry<Object, Object, ?> entry = segment.getEntry(keyOne, hashOne);
@SuppressWarnings("unchecked")
Reference<Object> reference = (Reference) entry;
reference.enqueue();
for (int i = 0; i < SMALL_MAX_SIZE; i++) {
Object unused = map.get(keyTwo);
}
assertFalse(map.containsKey(keyOne));
assertFalse(map.containsValue(valueOne));
assertNull(map.get(keyOne));
assertEquals(0, map.size());
assertNull(segment.getKeyReferenceQueueForTesting().poll());
}
}
}
示例4: testDrainValueReferenceQueueOnRead
import java.lang.ref.Reference; //导入方法依赖的package包/类
public void testDrainValueReferenceQueueOnRead() {
for (MapMaker maker : allWeakValueStrengthMakers()) {
MapMakerInternalMap<Object, Object, ?, ?> map = makeMap(maker.concurrencyLevel(1));
if (maker.getValueStrength() == Strength.WEAK) {
Segment<Object, Object, ?, ?> segment = map.segments[0];
Object keyOne = new Object();
int hashOne = map.hash(keyOne);
Object valueOne = new Object();
Object keyTwo = new Object();
map.put(keyOne, valueOne);
@SuppressWarnings("unchecked")
WeakValueEntry<Object, Object, ?> entry =
(WeakValueEntry<Object, Object, ?>) segment.getEntry(keyOne, hashOne);
WeakValueReference<Object, Object, ?> valueReference = entry.getValueReference();
@SuppressWarnings("unchecked")
Reference<Object> reference = (Reference) valueReference;
reference.enqueue();
for (int i = 0; i < SMALL_MAX_SIZE; i++) {
Object unused = map.get(keyTwo);
}
assertFalse(map.containsKey(keyOne));
assertFalse(map.containsValue(valueOne));
assertNull(map.get(keyOne));
assertEquals(0, map.size());
assertNull(segment.getValueReferenceQueueForTesting().poll());
}
}
}
示例5: testDrainKeyReferenceQueueOnWrite
import java.lang.ref.Reference; //导入方法依赖的package包/类
public void testDrainKeyReferenceQueueOnWrite() {
for (CacheBuilder<Object, Object> builder : allKeyValueStrengthMakers()) {
LocalCache<Object, Object> map =
makeLocalCache(builder.concurrencyLevel(1));
if (map.usesKeyReferences()) {
Segment<Object, Object> segment = map.segments[0];
Object keyOne = new Object();
int hashOne = map.hash(keyOne);
Object valueOne = new Object();
Object keyTwo = new Object();
Object valueTwo = new Object();
map.put(keyOne, valueOne);
ReferenceEntry<Object, Object> entry = segment.getEntry(keyOne, hashOne);
@SuppressWarnings("unchecked")
Reference<Object> reference = (Reference) entry;
reference.enqueue();
map.put(keyTwo, valueTwo);
assertFalse(map.containsKey(keyOne));
assertFalse(map.containsValue(valueOne));
assertNull(map.get(keyOne));
assertEquals(1, map.size());
assertNull(segment.keyReferenceQueue.poll());
}
}
}
示例6: testDrainValueReferenceQueueOnWrite
import java.lang.ref.Reference; //导入方法依赖的package包/类
public void testDrainValueReferenceQueueOnWrite() {
for (CacheBuilder<Object, Object> builder : allKeyValueStrengthMakers()) {
LocalCache<Object, Object> map =
makeLocalCache(builder.concurrencyLevel(1));
if (map.usesValueReferences()) {
Segment<Object, Object> segment = map.segments[0];
Object keyOne = new Object();
int hashOne = map.hash(keyOne);
Object valueOne = new Object();
Object keyTwo = new Object();
Object valueTwo = new Object();
map.put(keyOne, valueOne);
ReferenceEntry<Object, Object> entry = segment.getEntry(keyOne, hashOne);
ValueReference<Object, Object> valueReference = entry.getValueReference();
@SuppressWarnings("unchecked")
Reference<Object> reference = (Reference) valueReference;
reference.enqueue();
map.put(keyTwo, valueTwo);
assertFalse(map.containsKey(keyOne));
assertFalse(map.containsValue(valueOne));
assertNull(map.get(keyOne));
assertEquals(1, map.size());
assertNull(segment.valueReferenceQueue.poll());
}
}
}
示例7: testDrainKeyReferenceQueueOnRead
import java.lang.ref.Reference; //导入方法依赖的package包/类
public void testDrainKeyReferenceQueueOnRead() {
for (CacheBuilder<Object, Object> builder : allKeyValueStrengthMakers()) {
LocalCache<Object, Object> map =
makeLocalCache(builder.concurrencyLevel(1));
if (map.usesKeyReferences()) {
Segment<Object, Object> segment = map.segments[0];
Object keyOne = new Object();
int hashOne = map.hash(keyOne);
Object valueOne = new Object();
Object keyTwo = new Object();
map.put(keyOne, valueOne);
ReferenceEntry<Object, Object> entry = segment.getEntry(keyOne, hashOne);
@SuppressWarnings("unchecked")
Reference<Object> reference = (Reference) entry;
reference.enqueue();
for (int i = 0; i < SMALL_MAX_SIZE; i++) {
map.get(keyTwo);
}
assertFalse(map.containsKey(keyOne));
assertFalse(map.containsValue(valueOne));
assertNull(map.get(keyOne));
assertEquals(0, map.size());
assertNull(segment.keyReferenceQueue.poll());
}
}
}
示例8: testDrainValueReferenceQueueOnRead
import java.lang.ref.Reference; //导入方法依赖的package包/类
public void testDrainValueReferenceQueueOnRead() {
for (CacheBuilder<Object, Object> builder : allKeyValueStrengthMakers()) {
LocalCache<Object, Object> map =
makeLocalCache(builder.concurrencyLevel(1));
if (map.usesValueReferences()) {
Segment<Object, Object> segment = map.segments[0];
Object keyOne = new Object();
int hashOne = map.hash(keyOne);
Object valueOne = new Object();
Object keyTwo = new Object();
map.put(keyOne, valueOne);
ReferenceEntry<Object, Object> entry = segment.getEntry(keyOne, hashOne);
ValueReference<Object, Object> valueReference = entry.getValueReference();
@SuppressWarnings("unchecked")
Reference<Object> reference = (Reference) valueReference;
reference.enqueue();
for (int i = 0; i < SMALL_MAX_SIZE; i++) {
map.get(keyTwo);
}
assertFalse(map.containsKey(keyOne));
assertFalse(map.containsValue(valueOne));
assertNull(map.get(keyOne));
assertEquals(0, map.size());
assertNull(segment.valueReferenceQueue.poll());
}
}
}