【发布时间】:2014-07-16 11:13:32
【问题描述】:
我对 java web 应用程序中的缓存技术有疑问。
假设如果我实现了ehcache,缓存的数据将存储在哪里?
缓存的数据会在 GC 覆盖区域内吗?我的意思是 GC 会删除我之前缓存的 java 对象吗?
在阅读了一些缓存框架站点后,我了解到在核心级别它们(缓存框架)使用的是 hastable 或 hashmap,其中数据将是我们的值,键取决于逻辑。
假设在ehcache中 maxBytesLocalHeap="50m" maxBytesLocalDisk="50G" 1.我在这里理解的是50Mb(maxBytesLocalHeap)将存储在堆内存中(该内存下的数据将被GC观察), 2. 如果 maxBytesLocalDisk 50GB 将存储在本地磁盘中(假设文件将作为平面文件存储在服务器的 temp 文件夹中),GC 不会关心实体或对象,因为它超出了堆内存。
我的理解正确吗?
谢谢 维杰
【问题讨论】: