<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    Java NIO trick and trap

    Posted on 2010-11-22 18:22 dennis 閱讀(14297) 評論(19)  編輯  收藏 所屬分類: javamy open-source

         上周在內部做的一個Java NIO框架的實現技巧和陷阱的分享,對編寫NIO網絡框架有興趣的朋友可能有點幫助,上傳slideshare.net一直出錯,直接提供下載吧。
        
         下載地址:Nio Trick and Trap.pdf.zip






    評論

    # re: Java NIO trick and trap——編寫高性能NIO網絡框架  回復  更多評論   

    2010-11-22 18:25 by jaedong
    好東西,學習學習,謝謝.

    # re: Java NIO trick and trap——編寫高性能NIO網絡框架  回復  更多評論   

    2010-11-22 19:38 by 南哥
    多謝分享

    # re: Java NIO trick and trap——編寫高性能NIO網絡框架  回復  更多評論   

    2010-11-22 19:52 by sky3380
    長見識了,多謝分享~

    # re: Java NIO trick and trap  回復  更多評論   

    2010-11-23 15:38 by nada_forever
    相當好,又學到不少東西,多謝多謝。

    # re: Java NIO trick and trap  回復  更多評論   

    2010-11-23 19:07 by alex_zheng
    非常好,特別是對一些開源項目代碼的解釋

    # re: Java NIO trick and trap  回復  更多評論   

    2010-11-24 16:32 by simaliu
    首先感謝大俠分享。粗略看了一遍,有兩個問題要請教一下:

    1)Reactor數目 一節中提到 Netty 的 Reactor 數目為:1 + 2 * CPU,但是我從 Netty 代碼中找不到相關的論證,或許是我搞錯了,希望作者能幫我核實一下;
    2)SO_TCPNODELAY 選項開啟之后,小的數據會延遲發送,導致網絡數據傳輸延時特別大,我在開發中得到的延時是 40 ms,我一度以為是 JDK 的 bug,我在網上也看到有人反映這個問題,如果作者覺得有必要可以把這個也列為一個 TRAP。

    # re: Java NIO trick and trap  回復  更多評論   

    2010-11-24 18:38 by dennis
    @simaliu

    1、查看NioServerSocketChannelFactory類的構造函數,SelectorUtil.DEFAULT_IO_THREADS常量。

    2、這個我不認為是nio的trap,而是網絡編程需要注意的問題,感謝你的分享。

    # re: Java NIO trick and trap  回復  更多評論   

    2010-11-25 10:13 by beneo
    @simaliu
    1 + 2 * CPU
    這個參數在garbage里面非常常用。呵呵

    # re: Java NIO trick and trap  回復  更多評論   

    2010-11-25 10:13 by beneo
    要是有語音就更好的

    # re: Java NIO trick and trap  回復  更多評論   

    2011-04-22 23:10 by techq
    這個太有用了,太謝謝啦

    # re: Java NIO trick and trap  回復  更多評論   

    2011-06-29 10:51 by bbz
    我是初學java nio的,有個問題請教一下lz
    在減少wakeup調用那一章,也就是35頁

    為了性能考慮,當queue為空時,為什么把要寫入的數據加入到queue中,而不是直接write??如果write不完在考慮加入到queue中,然后注冊事件,最后wakeup

    通常情況下write是寫入到tcp的緩沖區,那一塊好歹有個4-8k(根據不同的操作系統設置可能會有不同),通常是能成功的

    以上實際是我在做c開發時候的一點經驗,不知道轉移到java之后是否繼續有價值,肯定lz斧正,感謝。

    # re: Java NIO trick and trap  回復  更多評論   

    2011-06-29 14:25 by bbz
    40頁已經看到此問題答案,感謝

    # re: Java NIO trick and trap  回復  更多評論   

    2011-06-30 11:27 by censhao
    正在使用nio呢 謝謝了

    # re: Java NIO trick and trap  回復  更多評論   

    2011-12-13 18:57 by wavefly
    這篇ppt太好了,我這段時間一直在看xmemcached.yan4j的代碼,正在為有些細節頭疼,這份ppt剛好把我的疑問解決了,例如:
    1、為什么新寫Buffer實現
    2、AtomicBoolean wakeup來減少Selector.wakeup調用(弱弱的問,Selector.wakeup如果多次調用,只有一次起作用,底層實現有個boolean變量來做記錄操作狀態,代碼中AtomicBoolean wakeup也是用作記錄操作狀態,會不會多余?)
    3、注冊Channel和更新interest 通過if(isReactorThread())來決定是否放入隊列的原因
    4、各種socket參數的優化
    5、網絡延遲狀態下通過臨時Selector寫數據(grizzly)的方式
    ……

    # re: Java NIO trick and trap  回復  更多評論   

    2011-12-13 18:59 by wavefly
    樓主的大量細節優化是yanf4j與mina比對測試勝出的根本原因吧,多謝你的分析

    # re: Java NIO trick and trap  回復  更多評論   

    2012-05-02 22:24 by aeifkz
    感謝樓主分享~~XD

    # re: Java NIO trick and trap  回復  更多評論   

    2014-01-07 16:35 by poscard
    自己本來想給團隊分享一下nio的,看了dennis的ppt后,發現自己準備的太淺了。

    # re: Java NIO trick and trap[未登錄]  回復  更多評論   

    2014-09-01 22:13 by Z
    感謝分享...非常全面,非常實用

    # re: Java NIO trick and trap[未登錄]  回復  更多評論   

    2015-07-24 12:10 by sam
    能否分享音頻?
    主站蜘蛛池模板: 美女羞羞免费视频网站| 国产成人精品一区二区三区免费| 免费夜色污私人影院在线观看| 人碰人碰人成人免费视频| 好看的电影网站亚洲一区| 国产大片91精品免费观看不卡| 亚洲乱妇老熟女爽到高潮的片 | 春暖花开亚洲性无区一区二区| 亚洲五月午夜免费在线视频| 午夜理伦剧场免费| 亚洲AV色欲色欲WWW| 亚洲AV无码一区二区三区系列| 在线观看免费a∨网站| 国产日韩AV免费无码一区二区| 亚洲一线产区二线产区精华| 中文字幕亚洲综合久久男男| 亚洲人成电影网站免费| 青青操在线免费观看| 亚洲AV成人精品一区二区三区| 亚洲综合在线观看视频| 亚洲成a人一区二区三区| 美女视频黄免费亚洲| 你懂的在线免费观看| 亚洲国产精品无码观看久久| 亚洲国产成人久久精品动漫| 深夜国产福利99亚洲视频| 国产福利在线免费| 久爱免费观看在线网站| 麻豆69堂免费视频| 亚洲1区1区3区4区产品乱码芒果| 亚洲精品午夜无码电影网| 国产成人一区二区三区免费视频| 99热在线精品免费播放6| 一个人免费观看www视频| 亚洲精品无码久久久久牙蜜区| 亚洲福利在线观看| 狠狠色婷婷狠狠狠亚洲综合 | 亚洲高清视频免费| 青柠影视在线观看免费高清| 国产亚洲综合一区二区三区| 亚洲综合校园春色|