需要一些关于编年史地图如何工作的信息,是否它会在内存中保留一些键值对,当它溢出一个特定的阈值时,它会如何值存储然后它将数据溢出到磁盘或它依赖于内存大小,如果地图的大小超过阈值然后将数据溢出到磁盘,如果是这样,那么如何配置,或者是否有其他策略?
答案 0 :(得分:4)
Chronicle Map直接写入内存映射文件。这完全是堆。如果您编写条目,则此条目立即对同一台计算机上的其他进程可见。此外,如果您的JVM崩溃,数据也不会丢失或损坏。
写入数据后,应用程序无需执行任何操作。 (这就是它可以在不丢失数据的情况下崩溃的原因)
内存中但尚未写入磁盘的数据量由OS决定。它通常约占主存储器的10%。操作系统会随着时间的推移将数据写入磁盘(通常是几秒)
已写入磁盘的条目使用OS的读缓存。读缓存可以是系统的整个可用内存。更改此限制的方法是添加更多内存。