【发布时间】:2011-09-26 16:27:48
【问题描述】:
基本上,我在内存中缓存了一堆文件。问题是,如果我将太多文件缓存到内存中,我可能会耗尽内存。
是否有任何类型的 java 内存结构会自动将自身的一部分分页到磁盘?
例如,我想将内存中文件的大小限制为 2 mb。在该限制之后,我希望将一些文件写入磁盘。
有没有做这种事情的图书馆?
格雷
【问题讨论】:
标签: memcached memory-management out-of-memory ehcache
基本上,我在内存中缓存了一堆文件。问题是,如果我将太多文件缓存到内存中,我可能会耗尽内存。
是否有任何类型的 java 内存结构会自动将自身的一部分分页到磁盘?
例如,我想将内存中文件的大小限制为 2 mb。在该限制之后,我希望将一些文件写入磁盘。
有没有做这种事情的图书馆?
格雷
【问题讨论】:
标签: memcached memory-management out-of-memory ehcache
“内存中的文件”。传统上,内存中的数据存储在某种数据结构中,例如 HashMap 或其他任何数据结构,并在将其写入磁盘时称为“文件”。您可以编写一个以编程方式执行此操作的数据存储类。我不知道有任何图书馆这样做。这将非常有用。实际上,您将实现虚拟内存。
此链接可能会对您有所帮助:
http://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileChannel.html
【讨论】:
EhCache 是 Java 的通用缓存库。一种选择是拥有磁盘支持的缓存,它会溢出到文件系统。似乎正是您所需要的。
【讨论】: