Netty解决JDK空轮询BUG
1、创建一个新的Selector
2、将原来的Selector中注册的事件全部取消。
3、将可用事件重新注册到新的Selector中,并激活。
Netty的总结
Netty定位:
1 .作为开源框架的底层框架(TCP通信)
SpringBoot内置的容器(Tomcat/Jerry)
Zookeper数据交换
Dubbo多协议RPC的支持
2、直接做服务器(消息推送服务,游戏后台)
Netty如何确定要使用那些编码器和解码器
很简单,去看API文档
Netty自带的编码器可以解决99%的业务需求
1%自己编码
Netty中大文件上传的那个handler是怎么做到防止内存撑爆的
ByteBuf分片,直接缓冲区,0拷贝,提高内存利用率,加内存
Tomcat NIO方式的调优线程,本质上是对netty的调优吗
8.5之后开始用Netty
责任链模式是否存在,一个操作出口参数为另一个操作的入口
执行顺序有关系,又先后
API设计
callable(上一次调用的结果),msg(皮球)
Netty里面Pooled缓冲区和Unpooled缓冲区内存分配
Selector客户端与服务端之间是什么关系
客户端:CONNECT READ WRITE
服务端: ACCEPT READ WRITE