1为什么要学Netty
Spring5 底层用的Netty
Spring Boot内部实现了Web容器
Zookeeper 也是用的Netty
Dubbo 分布式服务框架 多协议支持(rpc) Netty
2 Netty能帮我们解决什么样的问题
框架:简化开发的一系列解决方案的集合
封装IO操作的框架
复杂的业务场景中,没有说用一个单独的IO API解决问题的
都是用IO+多线程来解决问题
3 JAVA BIO,NIO,AIO区别和应用场景
阻塞与非阻塞的区别
阻塞:往往需要等到缓冲区的数据准备好后才能处理其他的事情,否则一直等待在那里
非阻塞:当我们的进程访问我们的数据缓冲区的时候,如果数据没有准备好则直接返回,不会等待。如果数据已经准备好,也直接返回。
阻塞和非阻塞是进程访问数据的时候,数据是否准备就绪的一种处理方式,当数据没有准备的时候。
在处理数据的时候,在同一时间,能同时做多个处理:异步
在同一时间只能做一个处理:同步
Process()
多线程来解决
BIO 同步阻塞IO
NIO Non-Block 同步非阻塞IO(线程池解决)
AIO Ansync IO 异步非阻塞IO(事件驱动,回调)
目的:提升IO的性能