当前位置:网站首页>JVM内存和垃圾回收-10.直接内存

JVM内存和垃圾回收-10.直接内存

2022-08-09 23:13:00 J___code

1.概述

  • 即本地内存

  • 非JVM运行时数据区的一部分

  • 是在堆外的且直接向系统申请的内存区间

  • 通过堆中的DirectByteByffer操作本地内存(NIO的API)

  • 读写频繁的场景考虑使用本地内存(因为访问本地内存速度由于访问堆)

    • 使用非直接缓冲区(即使用IO):需要由用户态切换到内核态(即需要两份内存存储重复数据),效率低

    在这里插入图片描述

    • 使用直接缓冲区(即使用NIO):代码可以直接访问直接缓冲区,只需要一份数据

    在这里插入图片描述

  • 可能出现OOM(系统内存有限)

  • 分配和回收成本高(不受JVM内存回收管理)


原网站

版权声明
本文为[J___code]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_41398418/article/details/126243847