美文网首页
JAVA-每日一面 2022-01-11

JAVA-每日一面 2022-01-11

作者: YangEvol | 来源:发表于2022-01-11 19:19 被阅读0次

    问:
    简述一下netty
    答:
    Netty⾼性能:
    1.NIO异步⾮阻塞通信
    2、“零拷⻉”
    3、内存池ByteBuf
    4、Netty提供了多种内存管理策略,通过在启动辅助类中配置相关参数,可以实现差异化的定制。
    5、⾼效的Reactor线程模型:Reactor单线程(多线程、主从)模型,指的是所有的IO操作都在同⼀个NIO线程上⾯完成
    6、为了尽可能提升性能,Netty采⽤了串⾏⽆锁化设计,在IO线程内部进⾏串⾏操作,避免多线程竞争导致的性能下降。
    表⾯上看,串⾏化设计似乎CPU利⽤率不高,并发程度不够。
    但是,通过调整NIO线程池的线程参数,可以同时启动多个串⾏化的线程并⾏运⾏,
    这种局部⽆锁化的串⾏线程设计相⽐⼀个队列,多个⼯作线程模型性能更优。
    7、⾼效的并发编程:Netty的⾼效并发编程主要体现在如下⼏点:
    1)volatile的⼤量、正确使⽤;
    2)CAS和原⼦类的⼴泛使⽤;
    3)线程安全容器的使⽤;
    4)通过读写锁提升并发性能。
    8、⾼效的序列化框架:
    9、灵活的TCP参数配置能⼒:合理设置TCP参数在某些场景下对于性能的提升可以起到显著的效果,
    例如SO_RCVBUF和SO_SNDBUF。如果设置不当,对性能的影响是⾮常⼤的。

    相关文章

      网友评论

          本文标题:JAVA-每日一面 2022-01-11

          本文链接:https://www.haomeiwen.com/subject/gpcicrtx.html