合理靈活運用HeapByteBuffer.array()
HeapByteBuffer.array()返回的是其內部byte[],咱們拿到這個後,就能夠隨意對這個byte[]隨便操做了,能夠參考t-io的SendRunnable.java的下面這段代碼 ByteBuffer allByteBuffer = ByteBuffer.allocate(allBytebufferCapacity);
byte[] dest = allByteBuffer.array();
for (ByteBuffer byteBuffer : byteBuffers) {
if (byteBuffer != null) {
int length = byteBuffer.limit();
int position = allByteBuffer.position();
System.arraycopy(byteBuffer.array(), 0, dest, position, length);
allByteBuffer.position(position + length);
}
}
注意:DirectBuffer內部是沒有byte[]的,也就沒有所謂的byte[]操做了。