面试题_java

BIO、 NIO 、 AIO 区别:

BIO 同步阻塞:发起请求->一直阻塞->处理完成。特点:比较耗时,线程资源浪费。
NIO 同步非阻塞:Selector主动轮询channel->处理请求->处理完成。特点:比较高效。
AIO异步非阻塞:发起请求->通知回调。

使用NIO所遇到的问题:
类库和API比较复杂。需要java多线程的知识,网络阻塞,处理难度大。存在内置bug,所以现在都使用netty。

netty三种线程模型

netty提供了三种线程模型:
单线程模型:所有的IO操作都是有同一个NIO线程处理的。大负载,高并发不适用。
多线程模型:由一组NIO处理IO操作,一个NIO处理请求,一个线程池处理IO。百万级以上并发不适用。
主从线程模型:一组线程池接收请求,一组线程池处理IO。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值