Buffer基本API-N3111

package Netty与NIO的前生今世3;

import java.nio.IntBuffer;

/**
 * Buffer操作基本API
 *   缓冲区实际上是一个容器,更直接的说,其实就是一个数组,在NIO库中,所有数据都是用缓冲区处理的。
 *   在读数据时,它是直接读到缓冲区的;在写入数据时,它也是写入缓冲区;任何时候访问NIO中的数据
 *   ,都是将它放到缓冲区中。而在面向I/O系统中,所有数据都是直接写入或者将数据读到steam对象中
 *   在NIO中,所有的缓冲区类型都继承自抽象类Buffer,对于java中的基本类型,基本都有一个具体Buffer
 *   类型与之相对应,他们之间的继承关系
 *                           ByteBuffer             MappedByteBuffer
 *                           LongBuffer
 *                           DoubleBuffer
 *   Buffer                  CharBuffer
 *                           FloatBuffer
 *                           intBuffer
 *                           ShortBuffer
 *
 */

class IntBufferDemo{
    public void IntBufferDemo(){
        //分配新的int缓冲区,参数为缓冲区容量
        //新缓冲区的当前位置将为0,其界限(限制位置)为其容量。它具有一个底层实现数组,其数组偏移量为0;
        IntBuffer intBuffer= IntBuffer.allocate(8);
        for (int i=0;i<intBuffer.capacity();i++){
            int j=2*(i+1);
            //将给定整数写入此缓冲区的当前位置,当前位置递增
            intBuffer.put(j);
        }
        //重设此缓冲区,将限制位置设置为当前位置,然后将当前位置设置为0
        intBuffer.flip();
        //查看在当前位置和限制位置之间是否有元素
        while (intBuffer.hasRemaining()){
            //读取此缓冲区当前位置的整数,然后当前位置递增
            int j=intBuffer.get();
            System.out.print(j+"  ");
        }
    }
}

public class N3111 {
    public static void main(String[] args) {
        IntBufferDemo intBufferDemo=new IntBufferDemo();
        intBufferDemo.IntBufferDemo();
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值