是否有 Java 库可以根据数据的大小在内存或磁盘中缓存数据?

GC_*_*GC_ 5 java caching memory-management out-of-memory jakarta-ee

是一种向缓冲区写入内容的方法,但是一旦缓冲区变大,就开始写入文件?

我希望这整个过程是自动的。基本上,我想写入缓冲区,并让库确保我不会耗尽内存。

我从不想阻止写作过程。如果缓冲区变得太大,库应该将其中的一些写入磁盘。

有人知道这样的图书馆吗?

格雷

主要的一点是,我只想在必须的时候写入磁盘。如果缓冲区大小允许,数据应保存在内存中。

Bra*_*lor 4

Heritix项目包含一个名为RecordingOutputStream类。来自javadoc:

RecordingOutputStream 使用内存缓冲区和后备磁盘文件来记录任意长度的流,仅受可用磁盘空间的限制。

只要记录的流小于内存缓冲区,就不会发生磁盘访问。

您可以查看源代码以了解这是如何实现的。