在 OpenHFT 的Github 存储库上的 ChronicleMap在他们的文档中声明:
Chronicle Map implements the java.util.concurrent.ConcurrentMap, that stores
its data off the java heap.
我已经构建了一个编译器,并为一些分支语言的编译器实现做出了贡献。我使用过的分配堆栈上的所有内容(这就是代码生成期间可用的内容)。我从未在 JVM 和 java 编译器上工作过,但我知道通常只有堆和堆栈可用于分配类实例、局部变量、函数参数等。
有人可以解释一下我们是如何编写代码的,我们可以告诉编译器实例化诸如 ChronicalMap 之类的数据结构,让它们可用于 JVM 的垃圾收集(并通过 JVM 的一般内存管理进行跟踪功能),但生活在堆外?
我已经阅读了简单的构造文档和相关示例。我看到了,how
但是与 JVM 结合到底发生了什么的原因尚不清楚。