HeapByteBuffer 它使用的是堆内存,读写效率较低,会受到垃圾回收gc的影响,因为一般的垃圾回收都会影响到它的位置,比如拷贝算法、整理算法,要让内存移动,就会影响它的效率 DirectByteBuffer 它用的是直接内存即系统内存,读写效率高(少一次拷贝),不会受gc影响,但它的分配内存速度慢点,因为要调用操作系统的函数分配内存,而且使用不当,可能会造成内存泄漏。