admin管理员组文章数量:1611934
package nio;
import java.nio.IntBuffer;
/**
* Buffer的重要属性 position/limit/capacity
* position:buffer当前所在的操作位置
* limit:buffer最大的操作位置
* capacity:buffer的最大长度
*/
public class NioTest2 {
public static void main(String[] args) {
IntBuffer intBuffer = IntBuffer.allocate(10);
/**
* 由于bufer刚分配,此时是写模式,所以:
* position = 0
* limit = 10
* capacity = 10
*/
System.out.println(intBuffer.position());
System.out.println(intBuffer.limit());
System.out.println(intBuffer.capacity());
System.out.println("----------------------------------");
int i;
for(i = 0; i < 4; i++) {
intBuffer.put(i);
}
intBuffer.flip();
/**
* bufer写入了4个数据,此时切换到了读模式,所以:
* position = 0
* limit = 4
* capacity = 10
*/
System.out.println(intBuffer.position());
System.out.println(intBuffer.limit());
System.out.println(intBuffer.capacity());
System.out.println("----------------------------------");
intBuffer.clear();
/**
* bufer清空了,但是里面的数据是不会清空的,只是把指针重置了,
* 所以,这个时候buffer的指针又回到了初始状态
* get(2) = 2
* position = 0
* limit = 10
* capacity = 10
*/
System.out.println(intBuffer.get(2));
System.out.println(intBuffer.position());
System.out.println(intBuffer.limit());
System.out.println(intBuffer.capacity());
System.out.println("----------------------------------");
}
}
本文标签: 属性bufferPositionCapacitylimit
版权声明:本文标题:Buffer的重要属性 positionlimitcapacity 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728622348a1166512.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论