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

  • 相关阅读:
    手游部分测试点
    Selenium-xapth定位
    添加git 忽略文件
    cxfreeze打包python程序的方法说明(生成安装包,实现桌面快捷方式、删除快捷方式)
    使用minidom来处理XML的示例
    ElementTree之Xml文档处理
    cx_freeze打包EXE文件
    wxpython的简单的应用
    python获取文件路径, 文件名, 后缀名
    flask-sqlalchemy
  • 原文地址:https://www.cnblogs.com/chenyangwang/p/13415905.html
Copyright © 2011-2022 走看看