在Java Web应用程序中缓存

时间:2014-05-27 13:44:05

标签: java ehcache

我在这里有关于java web应用程序中的缓存技术的问题。

假设我实现了ehcache,其中将存储缓存数据?

缓存的数据是否会在GC覆盖范围内?我的意思是GC会删除我之前缓存的java对象吗?

在阅读了一些缓存的框架网站之后,我明白在核心层面他们(缓存框架)正在使用hastable或hashmap,其中数据将是我们的值,关键取决于逻辑。

假设在ehcache中        maxBytesLocalHeap ="50米"        maxBytesLocalDisk =" 50G" 1.我在这里理解的是50Mb(maxBytesLocalHeap)将存储在堆内存中(GC会观察到此内存下的数据), 2.如果maxBytesLocalDisk 50GB将存储在本地磁盘中(假设文件将作为平面文件存储在服务器的临时文件夹中),那么GC将不关心实体或对象,因为它不在堆内存中。

我的理解是否正确?

由于 维杰

1 个答案:

答案 0 :(得分:0)

只有当其他任何对象没有引用时,GC才会删除您的对象。 GC不知道它只查找单独对象的缓存数据。

是的,HashMap通常用于存储缓存数据并在需要时检索它。