读书人

Buffer的几个属性跟方法速记

发布时间: 2012-10-21 09:00:07 作者: rapoo

Buffer的几个属性和方法速记

?

java.nio.Buffer?

?

属性

?

mark?position
limit一般情况下limit==catacitycapacity此属性一经设置,就不会改变remainglimit-positionaddress?

?

查询类方法

?

remaining?limit - position;?hasRemaininglimit?< position;?

?

改变类方法

?

markmark=position;resetposition=mark;clear

position=0;

limit=capacity;

mark=-1;

flip

limit=position;

position=0;

mark=-1;

rewind

position=0;

mark=-1;

limit()

limit=newLimit;

?

if (position > limit) position = limit;

if (mark > limit) mark = -1;

?

position()

position = newPosition;

?

if (mark > position) mark = -1;

?

System.arraycopy(hb, ix(position()), hb, ix(0), remaining());

?

position(remaining());

limit(capacity());

?

compactslice

new HeapIntBuffer(hb,

-1,

0,

this.remaining(),

this.remaining(),

this.position() + offset);

?

    共享底层存储byte[]mark=-1;position=0;limit=remaining;capacity=remaing;offset = offset+position;

?

?

?

duplicate

?new HeapByteBuffer(hb,

?

this.markValue(),

this.position(),

this.limit(),

this.capacity(),

offset);

?

    共享底层存储byte[]mark=mark;position=position;limit=limit;capacity=capacity;offset = offset;

?

?

?

读书人网 >编程

热点推荐