Почему Cache.asMap ()не соответствует Cache.size ()?

В библиотеке Guava я не понимаю, почемуCache.asMap()не согласуется сCache.size(), если не вызывается Cache.cleanUp().

Cache cache = CacheBuilder.newBuilder()
          .expireAfterWrite(1, TimeUnit.SECONDS)
          .build();
cache.get(...);
...
//After some seconds, all entries are expired.
//cache.asMap() is EMPTY Map, but cache.size() != 0

Итак, мой вопрос :Является ли ошибкой то, что Cache.asMap()не соответствует Cache.size()? Хотя я заметил, что javadoc Cache.size()— это :

  /**
   * Returns the **approximate** number of entries in this cache.
   */

, я могу просто предположить, что это связано с параллельной средой. И что именно делает Cache.cleanUp()?

7
задан Paul Bellora 24 May 2012 в 03:33
поделиться