DirectBuffer, HeapByteBufferJava IO의 단점 중 커널 버퍼에 직접 접근이 불가능해서 메모리 copy가 발생해 CPU 자원이 소모된다는 단점이 있다.JavaNIO 에서는 이런 단점을 보완한 DirectByteBuffer, HeapByteBuffer를 제공한다. DirectByteBuffer의 특징은 native메모리(off-heap)에 저장하고, 커널 메모리에서 복사를 하지 않으므로 데이터를 읽고 쓰는 속도가 빠르며 비용이 많이 드는 system call을 사용하므로 allocate, deallocate가 느리다는 특징을 가지고 있다.HeapByteBuffer의 특징은 JVM heap 메모리에 저장하고 byte array를 랩핑하고 있다. 커널 메모리에서 복사가 일어나게 되는데..