【问题标题】:Difference between On-heap and Off-heap memoryOn-heap 和 Off-heap 内存的区别
【发布时间】:2019-02-01 17:36:32
【问题描述】:

有人能解释一下堆上内存和堆外内存的区别吗?堆外内​​存是否显示在 JVM 内存大小上?堆外都是指针吗?

【问题讨论】:

    标签: memory jvm off-heap


    【解决方案1】:

    所有内存都是本机内存,但是 JVM 在它的 JVM 堆中管理和记录内存(与本机堆不同)

    Offheap 是 Java 术语,表示不直接管理的内存。但是,可以使用直接 ByteBuffer(s) 作为原始本机内存的代理对象来间接管理它。

    【讨论】:

    • “不直接管理”是什么意思?这是否意味着那种对象不是由JVM管理的?那只是JVM中的一个指针吗?
    • @XiaolongZhou 这只是一个 64 位的 long 值,恰好是一些内存的地址。
    • 内存是否占用了JVM内存?或者只是JVM中的64位long值,指向的对象超出了JVM的范围?谢谢!
    • @XiaolongZhou 堆外内存仍然是进程内存的一部分,因此从操作系统的角度来看,它没有什么不同,但它不是 JVM 使用的正常区域的一部分。
    猜你喜欢
    • 2014-02-26
    • 2012-06-16
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-17
    • 2021-10-26
    • 2016-07-25
    相关资源
    最近更新 更多