ByteBuffer.allocate()和ByteBuffer.allocateDirect
2012-08-21 09:52
615 查看
allocateDirectpublic static ByteBuffer allocateDirect(int capacity)分配新的直接字节缓冲区。 新缓冲区的位置将为零,其界限将为其容量,其标记是不确定的。无论它是否具有底层实现数组,其标记都是不确定的。 参数:capacity - 新缓冲区的容量,以字节为单位allocatepublic static ByteBuffer allocate(int capacity)分配一个新的字节缓冲区。 新缓冲区的位置将为零,其界限将为其容量,其标记是不确定的。它将具有一个底层实现数组,且其
数组偏移量将为零。 参数:capacity - 新缓冲区的容量,以字节为单位 allocate和allocateDirect方法都做了相同的工作,不同的是allocateDirect方法直接使用操作系统来分配Buffer。因而它将提供更快的访问速度。不幸的是,并非所有的虚拟机都支持这种直接分配的方法。Sun推荐将以字节为单位的直接型缓冲区allocateDirect用于与大型文件相关并具有较长生命周期的缓冲区。
数组偏移量将为零。 参数:capacity - 新缓冲区的容量,以字节为单位 allocate和allocateDirect方法都做了相同的工作,不同的是allocateDirect方法直接使用操作系统来分配Buffer。因而它将提供更快的访问速度。不幸的是,并非所有的虚拟机都支持这种直接分配的方法。Sun推荐将以字节为单位的直接型缓冲区allocateDirect用于与大型文件相关并具有较长生命周期的缓冲区。
相关文章推荐
- ByteBuffer.allocate() vs. ByteBuffer.allocateDirect()
- AIO + ByteBufferQueue + allocateDirect 终于可以与NIO的并发性能达到一致。
- ByteBuffer.allocate()/ByteBuffer.allocateDirect()/JNI DETECTED ERROR IN APPLICATION: jarray was NULL
- ByteBuffer中allocateDirect与allocate的区别
- java java.nio.ByteBuffer.allocateDirect 导致内存泄露
- ByteBuffer的allocate与allocateDirect2013-01-11
- ByteBuffer.allocate()与ByteBuffer.allocateDirect()方法的区别。
- ByteBuffer.Allocate vs AllocateDirect
- ByteBuffer中allocate 与allocatDirect 不同之处?
- Difference between MappedByteBuffer and ByteBuffer.allocateDirect()
- ByteBuffer.allocate()和ByteBuffer.allocateDirect在性能上的差异
- ByteBuffer.allocateDirect 与 allocate 方法
- java HeapByteBuffer&DirectByteBuffer以及回收DirectByteBuffer
- DirectByteBuffer内存申请与释放
- Java_JVM参数-XX:MaxDirectMemorySize 与 两种 ByteBuffer: heap,direct ByteBuffer
- Direct Byte Buffer的操作
- Direct or Non-direct ByteBuffer
- byteBuffer, clear(), flip(), rewind(), allocate(), allocateDirect()
- ByteBuffer的allocate和allocateDirect
- HeapByteBuffer和DirectByteBuffer