为什么JavaNIO特别引入了缓冲类而不是使用数组?

为什么JavaNIO特别引入了缓冲类而不是使用数组?,java,io,buffer,nio,Java,Io,Buffer,Nio,我被问到一个问题,为什么一个字节数组是不够的,NIO特别引入了一个类缓冲区 这个问题的好答案是什么?它只是一种简化读/写操作的包装类吗 如果可能的话,请给我们一个例子来说明我们如何从Buffer类中获益,该类不能/几乎不能用数组来完成。DMA和bytebuffer这可能不可能用byte数组来实现。参见byte buffersJava数组不能动态调整大小,并且它们具有固定的长度。当然,这就是我们所说的(受过教育的)猜测。@ElliottFrisch,你能给我们举个例子,说明缓冲区是如何使用的吗?数

我被问到一个问题,为什么一个字节数组是不够的,NIO特别引入了一个类
缓冲区

这个问题的好答案是什么?它只是一种简化读/写操作的包装类吗


如果可能的话,请给我们一个例子来说明我们如何从
Buffer
类中获益,该类不能/几乎不能用数组来完成。

DMA和bytebuffer这可能不可能用byte数组来实现。参见byte buffersJava数组不能动态调整大小,并且它们具有固定的长度。当然,这就是我们所说的(受过教育的)猜测。@ElliottFrisch,你能给我们举个例子,说明缓冲区是如何使用的吗?数组的非固定长度功能在答案中是不够的。@Jaskey不,因为没有这样的例子。显然,一切都可以用数组来完成,但是Java的设计者选择实现
ByteBuffer
。。。你的问题是他们为什么这么做,答案(因为我没有这么做)一定是猜测。@Jaskey你认为为什么会有?提示,
ByteBuffer
可以由其他内容支持。