- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我计划在我的应用程序中使用 Guava Cache。部分 [K, V] 访问的对在统计上比其他对 >> 并且应该总是在缓存中可用。
根据 Sized Based Eviction 的规范
If your cache should not grow beyond a certain size, just use CacheBuilder.maximumSize(long). The cache will try to evict entries that haven't been used recently or very often
maximumSize = 100
的缓存, 如果
Key_A
被访问
10000
次并立即发帖说有
100
看跌期权,
Key_A
仍然会出现在缓存中?我进行的基本单元测试似乎并没有证实这一事实。有什么想法吗?
public class CacheHelper
{
private Cache<String, String> cache;
public CacheHelper()
{
cache = CacheBuilder.newBuilder().maximumSize(10).concurrencyLevel(1).build();
}
public String fetchVal(String key)
{
String val = cache.getIfPresent(key);
return val;
}
public void putVal(String key, String val)
{
cache.put(key, val);
}
}
public class CacheTest
{
public static void main(String[] args)
{
CacheHelper cacheHelper = new CacheHelper();
cacheHelper.putVal("0", "0");
for(int i = 0; i < 10000; i++)
{
cacheHelper.fetchVal("0");
}
System.out.println(cacheHelper.fetchVal("0"));
for(int i = 1; i < 11; i++)
{
String key = "" + i;
cacheHelper.putVal(key, key);
}
System.out.println(cacheHelper.fetchVal("0")); // Still returns NULL - "most often not being used?"
}
}
最佳答案
根据我的轻描淡写 Guava Cache使用 LRU 作为默认驱逐策略
在您的情况下,当您添加 10 个新值时,键“0”的条目成为最旧的值,因此当缓存达到其最大大小时,最旧的值被驱逐。
关于caching - Guava Cache - maximumSize - 驱逐(LRU 或最常见),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24944252/
MapMaker maximumSize 在 google guava 库中被标记为 @Beta。当您将它用作缓存时设置最大大小是一个非常有用的功能,我想在生产代码中使用它。从使用其他谷歌产品的经验来
我尝试做类似的事情: public static void main(final String[] args) { JDialog dialog = new JDialog();
我想将按钮添加到 FlowLayoutPanel。按钮可能包含较长的文本,单词之间有空格。按钮是 Autosize=true 和 AutoSizeMode = AutoSizeMode.GrowAnd
我计划在我的应用程序中使用 Guava Cache。部分 [K, V] 访问的对在统计上比其他对 >> 并且应该总是在缓存中可用。 根据 Sized Based Eviction 的规范 If you
我正在使用 MapMaker 在我的应用程序中实现数据对象的缓存: public class DataObjectCache { private final ConcurrentMap inn
我似乎遇到了一个问题,该问题仅适用于我的 Minecraft 插件的 1 位用户。 [15:54:14 ERROR]: Error occurred while enabling v1.0.8 (I
我刚找到 Guava通过搜索缓存 API(它非常适合我的需要)。但是在阅读 wiki 时出现了一个问题和 Javadoc - CacheBuilder 可以采用的默认设置值是什么? Javadoc指出
我有一个问题,我已经在 eclipse java neon 中编程,并且正在用表做一些事情,并且进入 swing,实际上是 JTable 的组件。现在我需要向表中的组件添加一个图像,我创建了一个名为
我是一名优秀的程序员,十分优秀!