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("----------------------------------");
}
}
Buffer的重要属性 position/limit/capacity
猜你喜欢
转载自blog.csdn.net/mweibiao/article/details/81119179
今日推荐
周排行