网络编程之NIO
一、Buffer缓冲区 package com.itbac.net.NIO.BIO; import java.nio.ByteBuffer; /** * Buffer缓冲区 */ public class BufferDemo { public static void main(String[] args) { //构建一个byte 字节缓冲区,容量是4 // allocate分配内存(在堆中)堆中内存要复制到堆外才能用于网络通信,因为堆中有GC管理 // allocateDirect 分配内存(在堆外),减少一次内存复制操作,提高性能,但是要自己回收内存 ByteBuffer byteBuffer = ByteBuffer.allocate(4); System.out.println(String.format("初始化:capacity容量:%s,position位置:%s,limit限制:%s", byteBuffer.capacity(), byteBuffer.position(), byteBuffer.limit())); //写入3字节的数据 byteBuffer.put((byte) 1); byteBuffer.put((byte) 2); byteBuffer.put((byte) 3); System.out.println(String.format(