我只是对这两个人之间的区别感兴趣
ByteBuffer.allocateDirect(4)
和
ByteBuffer.allocate(4)
为什么当我调用直接的array()
方法时,它会抛出异常?有什么不同?你会提供一个简单的例子和用法吗?非常感谢。
答案 0 :(得分:0)
当我调用direct的array()方法时,它会抛出异常吗?有什么区别?
HeapByteBuffer
(来自allocate()
)由数组支持,但DirectByteBuffer
(来自allocateDirect()
)由非托管内存块支持,直接访问。它没有后备数组,因此调用array()
将抛出。
@Vakh在他的评论中链接的问题很好地解释了这些差异。