gpt4 book ai didi

java - LRU字节缓存java

转载 作者:搜寻专家 更新时间:2023-10-31 20:06:23 27 4
gpt4 key购买 nike

我需要在 java 中实现一个最大大小的缓存,我想使用内存中缓存的实际大小而不是缓存中元素的数量来实现它。该缓存基本上将 String 作为键,将 String 作为值。我已经使用 java 的 LinkedHashMap 结构实现了缓存,但问题是如何知道缓存的实际大小,以便我可以调整策略以在大小太大时删除对象。

想使用检测包的 getObjectSize() 来计算它,但它似乎没有按预期工作。

当我执行 getObjectSize( a string ) 时,无论字符串的大小如何,它都会返回相同的大小:32。我猜它只是使用字符串的引用大小或类似的东西而不是内容。所以不知道如何有效地解决这个问题。

你有什么想法吗?

非常感谢!

最佳答案

您可能要考虑使用 Ehcachememory based cache sizing .

关于java - LRU字节缓存java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5692996/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com