jvm -直接内存 - Direct Memory

1 定义
  • 常见于NIO操作时,用于数据缓冲区
  • 分配回收成本较高,但读写性能高
  • 不受VM内存回收管理

使用直接内存为什么快

  • 零拷贝操作: 直接内存位于堆外(off-heap),而不是受到 Java 堆内存管理的限制。这意味着直接内存可以更容易地进行零拷贝操作,例如在进行网络通信、文件 I/O、NIO 操作时,可以直接将数据传输到直接内存中,而不需要经过 JVM 的堆内存。
  • 减少垃圾回收压力: 直接内存不受 Java 堆内存管理的影响,因此不会对垃圾收集器的运行造成影响。当需要处理大量的数据时,使用直接内存可以减少垃圾回收的压力,提高系统的稳定性和性能。
  • 内存对齐和数据结构: 直接内存的分配和释放通常比 Java 堆上的对象更加高效,因为直接内存的分配和释放通常采用操作系统提供的底层 API,这些 API 可以更好地与硬件平台进行交互,实现更高效的内存对齐和数据结构。
  • 避免堆内存中的对象复制: 在某些情况下,直接内存可以避免在堆内存中进行对象复制操作。例如,当进行大量的数据处理或网络传输时,直接内存可以直接读写数据而无需将数据复制到堆内存中。 -
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值