ByteBuffer has position, limit, capacity.
`position` will increment with the call of get(), so if the number of calls exceeds `limit`, there should be a `BufferUnderflow`.
Create a ByteBuffer from an existing array.
Slice is like a window of an existing ByteBuffer.
fast copy instructions.
nio client demo
configuration files.