netty面试总结

Netty总结

1netty是啥?

netty是基于NIO实现的高性能网络框架

netty简化了tcp,udp的网络编程,并且在性能上和安全性上更高

netty支持多种网络谢谢

2 netty使用场景

1自己实现http服务器

2rpc远程调度

3及时通讯系统

3netty核心组件有哪些

Channel 是对网络操作的抽象类

ChanenlFuture

EventLoop 负责监听网络事件并调用事件处理器进行相关的io操作

ChannelHandeler 消息具体处理器,负责读写操作和客户端连接

ChannelPipeline 是由ChannelHandler 组成的链。一般Channel 创建出来会传到对应的链上。

4Bootstrap 和 ServerBootstrap 了解么?

ServerBootstrap是服务端的引导了,使用bind方法去监听一个端口,需要配置两个线程组,一般为worker线程组负责具体处理和boss线程组负责接收连接

Bootstrap是客户端的引导类,需要监听远程服务的地址和端口,只需要配置一个线程组。

5什么是 TCP 粘包/拆包?有什么解决办法呢?

基于tcp传输数据的时候,字符串无法保证完整

1使用netty自带的解码器

2自定义序列化编解码器

6什么是netty零拷贝

1使用netty提供的compositebytebuf类,可以将多个bytebuf合并

2bytebuf支持slice操作,可以分解为多个共享的同一个区域的bytebuf

3通过FileRegion 包装FileChannel.tranferTo 实现文件传输,可以将文件缓冲区的数据发现目标Channel

 

posted @ 2020-08-01 18:08  cheakceep  阅读(226)  评论(0编辑  收藏  举报