CodeWalk

Buffer的position、limit、capacity三属性如何变化?

作者:孤独的心 · 2026-05-30 12:55

请详细说明ByteBuffer中position、limit、capacity的含义及操作变化。

回答

孤独的心

capacity总容量不可变;position当前读写位置;limit读模式为可读最大值。

flip()写→读:position=0, limit=原position rewind()重读:position=0, limit不变 clear()清空:position=0, limit=capacity compact():保留未读数据到头部