1.NIO:为同步非阻塞。位于java的 java.nio.*包下,NIO三大核心部分:
- Channel 通道
- Buffer 缓冲区:底层使用Unsafe类直接操作内存,Buffer中写入的所有数据jvm都不进行管理,不能被gc回收。
- Selector 选择器
2.NIO是面向缓冲区的。当数据读取到一个它稍后处理的缓冲区,需要时可在缓存区中前后移动,这就增加了处理过程中的灵活性,使用它可以提供非阻塞式的高伸缩性网络。
3.通俗讲NIO的同步非阻塞:NIO是可以做到用一个线程来处理多个操作的,假设有10000个请求过来,根据实际情况,可以分配50个或者100个线程来处理,不像之前的阻塞IO那样,非得1000个。
其中http2.0采用多路复用技术,做到同一个连接并发处理多个请求,而且并发请求的数量比http1.1大了好多个数量级。
1.2 Buffer的简单操作案例package com.ljf.netty.nio;
import java.nio.IntBuffer;
public class BufferDemo {
public static void main(String[] args) {
IntBuffer intBuffer=IntBuffer.allocate(5);
for(int k=0;k
结果:
1.3 flip()方法的作用



