【发布时间】:2016-09-02 18:32:51
【问题描述】:
我正在尝试使用磁盘持久性配置 Ehcache,该磁盘持久性不初始化磁盘缓存直到堆满。这可能吗?
现在,当我初始化缓存时,我看到磁盘缓存是在文件系统上创建的。大多数情况下,我的堆足以容纳我的数据,因此我不想创建一个不会被使用的磁盘存储。我在磁盘空间存在问题的手机上使用 ehcache。而且我可能需要一个 1GB 的磁盘持久性,所以现在每次我初始化缓存时它都会创建这个大文件。
【问题讨论】:
-
"这可能吗?" -- 虽然我不确定,但我的猜测很可能是“不”。没有标准的 Java API 来检查堆是否已满,而且我认为任何 Hotspot 或 Dalvik 特定的 API 都非常脆弱,没有人愿意认真使用它。
-
我不是说整个堆都满了,我的意思是我用 newResourcePoolsBuilder().heap(50, MemoryUnit.MB) 为我的缓存分配的堆上的部分
标签: ehcache