【发布时间】:2014-11-14 12:19:17
【问题描述】:
对于直接映射缓冲区,它们始终位于 jvm 堆之外。另一方面,通道似乎也存在于 IO 操作中。我只是想知道直接映射缓冲区的相应通道是否也保留在 jvm 堆之外?
另外,另一个问题来自于内存操作效率方面Channel存在的必要性。我明白了
通道表示与实体(例如硬件设备)的开放连接
然而,在通过直接映射缓冲区写入文件的情况下,内容是否被写入了两次?内容首先写入缓冲区,然后写入通道。与“直接”写入 IO 设备相比,这会是低效率吗?
【问题讨论】: