Ehcache低内存行为

Joh*_*onn 5 java hibernate ehcache out-of-memory

我正在使用ehcache 1.2.3.由于高速缓存大小是根据"元素"指定的,因此高速缓存占用的内存可能差异很大(ehcache与hibernate一起使用,并且还保持标准查询高速缓存,其中查询返回大小可能不同的结果集).我的问题是:如果JVM内存不足会发生什么.我从阅读ehcache的更改日志中得到的印象是,最初它使用的是软引用,但是由于java 1.4正在积极地清理它们,所以软引用最终被删除了.因此,如果缓存太大,我会得到OutOfMemoryError?Ehcache中没有试图阻止它的东西?

moo*_*ody 2

你是对的,如果你想用 ehcache 创建 OOM,你可以这样做。您是否查看过大小调整选项,例如 maxEntriesLocalHeap / maxBytesLocalHeap。使用它们可以有效地防止缓存使用超过分配的内存量。

例如,请参阅http://ehcache.org/documentation/configuration/cache-size