我正在使用ehcache 1.2.3。由于缓存大小是根据“元素”指定的,因此 缓存占用的内存可能差异很大(ehcache与。一起使用) hibernate并保存标准查询缓存,其中查询返回结果集 大小可能会有所不同)。我的问题是:如果JVM内存不足会发生什么。我的 阅读ehcache的更改日志的印象是,最初它使用的是软件 引用,但由于java 1.4正在积极地清理它们,所以软引用 最终被放弃了。因此,如果缓存太大,我会得到 OutOfMemoryError异常? Ehcache中哪些东西试图阻止它?
答案 0 :(得分:1)
你是正确的,如果你想用ehcache创建一个OOM,你可以这样做。您是否看过尺寸选项,但是像maxEntriesLocalHeap / maxBytesLocalHeap一样。使用它们可以有效地防止缓存使用超过分配的内存量。
参见例如http://ehcache.org/documentation/configuration/cache-size