直接内存概述

JVM:直接内存JVM:直接内存

非直接缓冲区

JVM:直接内存

  • 读写文件,需要与磁盘交互,需要由用户态切换到内核态。
  • 在内核态时,需要内存如上图所示。使用IO,这里需要两份内存存储重复数据,效率低

直接缓存区

JVM:直接内存

  • 使用NIO时,如上图,操作系统划出的直接缓冲区可以被Java代码直接访问,只有一份,NIO适合大文件读写操作

小结

简单的来看,Java Process Memory= Java heap + native memory

JVM:直接内存

相关文章: