什么是Hazelcast高清内存? - 开/关堆?

时间:2017-08-17 11:18:35

标签: hazelcast

我已阅读关于Hazelcast高密度记忆的this官方帖子。

我是否正确地假设这个高清内存仍然消耗来自JVM的内存(应用程序正在运行,而不是在服务器中创建另一个JVM并仅将其用于hz实例)?

这个本机内存配置的唯一区别是,内存是从堆分配而不是默认的堆内内存分配?

2 个答案:

答案 0 :(得分:1)

HDMS或Hazelcast高密度内存存储将内存分配到与Java堆相同的进程空间。这意味着该进程仍然拥有所有内存,但Java堆是独立的,而Hazelcast分配的空间(堆外/非Java堆)不是垃圾收集的目标。值被序列化,结果字节流被复制到本机内存中,读取时将其复制回Java堆区域并发送给请求者。

想象一下HDMS作为一个花哨的malloc实现:)

答案 1 :(得分:0)

HDMS或高密度内存存储是Hazelcast Enterprise HD产品的一部分。 HDMS是Java软件每个节点访问多TB内存而不会遇到长时间和不可预测的垃圾收集暂停的方法。该存储器存储使用许多高性能存储器管理技术提供“堆外”存储器的好处。 HDMS解决了与垃圾收集限制相关的问题,因此应用程序可以更高效地利用硬件内存,而无需额外的集群。它被设计为一个插件式内存管理器,可以为不同的数据结构(如IMap和JCache)启用多个内存存储。