ByteBuffer模式之间有什么区别?

时间:2013-12-05 12:44:19

标签: java io nio

我只是对这两个人之间的区别感兴趣 ByteBuffer.allocateDirect(4)ByteBuffer.allocate(4)

为什么当我调用直接的array()方法时,它会抛出异常?有什么不同?你会提供一个简单的例子和​​用法吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

  

当我调用direct的array()方法时,它会抛出异常吗?有什么区别?

HeapByteBuffer(来自allocate())由数组支持,但DirectByteBuffer(来自allocateDirect())由非托管内存块支持,直接访问。它没有后备数组,因此调用array()将抛出。

@Vakh在他的评论中链接的问题很好地解释了这些差异。