微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

com.google.common.collect.MapMakerInternalMap.WeakValueEntry的实例源码

项目:guava-mock    文件MapMakerInternalMapTest.java   
public void testDrainValueReferenceQueueOnWrite() {
  for (MapMaker maker : allWeakValueStrengthMakers()) {
    MapMakerInternalMap<Object,Object,?,?> map = makeMap(maker.concurrencyLevel(1));
    if (maker.getValueStrength() == Strength.WEAK) {
      Segment<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,?> entry =
          (WeakValueEntry<Object,?>) segment.getEntry(keyOne,hashOne);
      WeakValueReference<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());
    }
  }
}
项目:guava-mock    文件MapMakerInternalMapTest.java   
public void testDrainValueReferenceQueueOnRead() {
  for (MapMaker maker : allWeakValueStrengthMakers()) {
    MapMakerInternalMap<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,?> 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());
    }
  }
}
项目:googles-monorepo-demo    文件MapMakerInternalMapTest.java   
public void testDrainValueReferenceQueueOnWrite() {
  for (MapMaker maker : allWeakValueStrengthMakers()) {
    MapMakerInternalMap<Object,map.size());
      assertNull(segment.getValueReferenceQueueForTesting().poll());
    }
  }
}
项目:googles-monorepo-demo    文件MapMakerInternalMapTest.java   
public void testDrainValueReferenceQueueOnRead() {
  for (MapMaker maker : allWeakValueStrengthMakers()) {
    MapMakerInternalMap<Object,map.size());
      assertNull(segment.getValueReferenceQueueForTesting().poll());
    }
  }
}
项目:guava    文件MapMakerInternalMapTest.java   
public void testDrainValueReferenceQueueOnWrite() {
  for (MapMaker maker : allWeakValueStrengthMakers()) {
    MapMakerInternalMap<Object,map.size());
      assertNull(segment.getValueReferenceQueueForTesting().poll());
    }
  }
}
项目:guava    文件MapMakerInternalMapTest.java   
public void testDrainValueReferenceQueueOnRead() {
  for (MapMaker maker : allWeakValueStrengthMakers()) {
    MapMakerInternalMap<Object,map.size());
      assertNull(segment.getValueReferenceQueueForTesting().poll());
    }
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。