2013-12-05 3 views
0

Я просто интересно о разнице между этими двумя парнями ByteBuffer.allocateDirect(4) и ByteBuffer.allocate(4)В чем разница между режимами ByteBuffer?

и почему, когда я называю array() метод прямого, он бросает исключение? в чем разница? вы бы представили простой пример и использование? большое спасибо.

+1

http://stackoverflow.com/questions/5670862/bytebuffer-allocate-vs-bytebuffer-allocatedirect –

ответ

0

Когда я вызываю метод array() прямого, он выдает исключение? В чем разница?

HeapByteBuffer (от allocate()), опирается на массив, но DirectByteBuffer (от allocateDirect()) опирается на блок неуправляемой памяти, которую она получает доступ непосредственно. Это не имеет никакого массива подложки, и, таким образом, вызывая array() бросит.

Вопрос @Vakh ссылки в своем комментарии объясняют различия.

Смежные вопросы