zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    nginx配置
    day5 业务开发中较有用代码
    day4 Vue基础
    npm vue的一些命令
    day3 ES6基础
    python_矩阵的加法和乘法计算(包括矩阵的动态输入,纯列表实现不引入其他模块)
    python_利用元组实现剪刀石头布
    python_整型与IP地址的转换
    python_判断标识符的合法性
    python_生成随机数与列表排序
  • 原文地址:https://www.cnblogs.com/chenyangwang/p/13415905.html
Copyright © 2011-2022 走看看