java IO、 NIO面试题

  1. Java 中,直接缓冲区与非直接缓冲器有什么区别
    物理磁盘->内核地址空间->用户地址空间->应用程序
    OS -> JVM

直接缓冲区:内核地址空间和用户地址空间之间形成了一个物理内存映射文件,减少了之间的copy过程。

存在风险:用户不易控制、GC

非直接缓冲区:通过allocate()分配缓冲区,将缓冲区建立在JVM的内存中
java IO、 NIO面试题_第1张图片
直接缓冲区:通过allocateDirect()分配直接缓冲区,将缓冲区建立在物理内存中,可以提高效率。
java IO、 NIO面试题_第2张图片

  1. Java 中的内存映射缓存区是什么?
  2. Java 中,ByteBuffer 与 StringBuffer有什么区别

你可能感兴趣的:(Java,NIO)