JAVA之直接内存(DirectMemory)
Baisics:
- JAVA NIO使用,基于通道和缓冲区的IO方式,使用Native函数库直接分配堆外内存(
allocateDirect
),然后通过一个Java堆中的DirectByteBuffer对像作为这块儿内存的引用进行操作,避免了在Java堆和Native堆中复制耗费的时间。 - 内存的分配不受Java堆大小的影响,限制于服务器的内存,JVM调优设置JVM堆内存大小是需注意
Baisics:
allocateDirect
),然后通过一个Java堆中的DirectByteBuffer对像作为这块儿内存的引用进行操作,避免了在Java堆和Native堆中复制耗费的时间。