例如,在put操作期间,当咖啡因耗尽内存时会发生什么?是引发OutOfMemoryError异常,还是忽略该操作?我无法在文件中明确说明这一点。
发布于 2022-03-09 03:50:40
咖啡因不会捕获OutOfMemoryError,以抑制和驱逐入口。当抛出该错误时,JVM将处于不可预知的状态,这可能是不可恢复的。最好使用-XX:+ExitOnOutOfMemoryError和-XX:+HeapDumpOnOutOfMemoryError脱机重新启动和调查内存泄漏。
一开始,将所有可用内存推迟到缓存中,并在需要时让垃圾收集器退出似乎是有益的。这就是软引用背后的想法。不幸的是,这种方法一直是麻烦的,因为使全面全球合作更频繁,并增加了他们的停止-世界暂停时间。相反,我们建议使用显式的最大大小,其中策略非常智能。如果您想要大缓存,那么通常是一个远程层,比如memcached或redis,这是一个很好的补充,因此您可以获得本地访问的速度和较低的缓存负载误报率。
https://stackoverflow.com/questions/71401507
复制相似问题