zoukankan      html  css  js  c++  java
  • java io 网络编程 高性能NIO

         很久没写了,一是觉得这后台不怎么方便,二是 写的时候突然觉得没兴趣了。

     还好,今天突然想记一下,那就随便写吧。   

          

         1.一开始还是放几个连接。

          什么是 同步,异步,阻塞,非阻塞 : http://blog.csdn.net/historyasamirror/article/details/5778378

              从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式:http://blog.csdn.net/cutesource/article/details/6192016

                 相关文档: Scalable IO in Java

                 

               2.由于最近的一个项目要用到网络编程,以后也没怎么用过,只是网上看过一些,实际经验并不足,没办法从Tomcat7.0.2(具体版本号不记得了),把里面的

    NIO给抽出来了,弄了个NIO_Server,还行,能用。但后面由于数据量比较大时,总有点不放心,然后想着以后方便维护和扩展,打算采用Netty,于是最近又开始学习

    Netty 了,最新版本:netty-5.0.0.Alpha1,觉得这儿分析的不错:http://my.oschina.net/geecoodeer/blog?disp=1&catalog=0&sort=time&p=2

    但别人的总是别人的,自己不去肯,体会不到其中的差别。于是开始读源码贝。

        3.下面就写写自己的一些体会,那里写错了或不对向各位专家指点。

          

            NIO 模式都差不多,只是细节的处理和扩展性及场景考虑,也就是Jetty,Netty,Mina,Tomcat中都是NIO事件处理模块,模式(架构)都应该差不多,只

    是具体业务处理和扩展性不同巴了(目前我是这么认为的)。

          

          应该都是:一个或一组门神 (Accetpor) -------------->(一组Reactor)------>业务处理。跟餐馆差不多,几个负责招呼进门的,然后再分派给给里面相应

    服务的。然后.......然后看你要什么服务罗.................

          然后说说Netty,个人觉得Netty类层次各命名有点拗口,特别是什么EventLoop,EventLoopGroup,EventExecutor…………。我去,真难懂,反正我看起来比较费劲,最后觉得好像是这个感觉了:

                               

          1.凡是带Group,可以把Group想像成Pool,对应java里面的池子,一个Group调用引用的多个相应的不带Group的类。

                     2.EventExecutor应该线程调用者(也可以一个线程池),负责调用EventLoop(具体线程)处理相关业务。

                     3.流程大概是:EventExecutorGroup--->(调用)---->EventLoopGroup--->(调用)--->EventLoop--->处理业务,

    当然其中,每次调用都是交给EventExecutor(调用线程池)去做,由 EventExecutor.next选择相应的线程去调用各个调用者。

          4.至于其它,得接着看,只把一个例子或协议看懂了(也说是主流程弄懂了),其它的都一样,具体有兴趣的可以自己研究了…………。

      说明:学艺不精,哪儿写的不对,自己多考虑哈。。…。……………

                

  • 相关阅读:
    str_split — 将字符串转换为数组
    str_replace — 子字符串替换
    str_pad — 使用另一个字符串填充字符串为指定长度
    parse_str — 将字符串解析成多个变量
    number_format — 以千位分隔符方式格式化一个数字
    企业邮箱的优势有哪些?使用企业邮箱的好处
    TOM VIP邮箱,化繁为简,在微信里收发邮件
    邮箱办公神操作,让办公更自在,沟通无边界!
    常用的企业邮箱有哪些?企业邮箱有哪几种?
    外贸企业邮箱批发,收费企业邮箱与免费企业邮箱区别
  • 原文地址:https://www.cnblogs.com/jpfss/p/10231795.html
Copyright © 2011-2022 走看看