中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java進階(10) - 網絡編程

發布時間:2020-09-01 21:15:04 來源:網絡 閱讀:221 作者:lm8751 欄目:編程語言

BIO、NIO、AIO
NIO vs IO之間的理念上面的區別(NIO將阻塞交給了后臺線程執行)

  • IO是面向流的,NIO是面向緩沖區的
    • Java IO面向流意味著每次從流中讀一個或多個字節,直至讀取所有字節,它們沒有被緩存在任何地方;
    • NIO則能前后移動流中的數據,因為是面向緩沖區的
  • IO流是阻塞的,NIO流是不阻塞的
    • Java IO的各種流是阻塞的。這意味著,當一個線程調用read() 或 write()時,該線程被阻塞,直到有一些數據被讀取,或數據完全寫入。該線程在此期間不能再干任何事情了
    • Java NIO的非阻塞模式,使一個線程從某通道發送請求讀取數據,但是它僅能得到目前可用的數據,如果目前沒有數據可用時,就什么都不會獲取。NIO可讓您只使用一個(或幾個)單線程管理多個通道(網絡連接或文件),但付出的代價是解析數據可能會比從一個阻塞流中讀取數據更復雜。?
    • 非阻塞寫也是如此。一個線程請求寫入一些數據到某通道,但不需要等待它完全寫入,這個線程同時可以去做別的事情。
  • 選擇器
    • Java NIO的選擇器允許一個單獨的線程來監視多個輸入通道,你可以注冊多個通道使用一個選擇器,然后使用一個單獨的線程來“選擇”通道:這些通道里已經有可以處理的輸入,或者選擇已準備寫入的通道。這種選擇機制,使得一個單獨的線程很容易來管理多個通道。?
      參考:https://blog.csdn.net/evan_man/article/details/50910542

NIO通信框架有Mina、Netty、Grizzly
https://blog.csdn.net/wang_snake/article/details/79249972

BIO、NIO、AIO區別
https://blog.csdn.net/guanghuichenshao/article/details/79375967

網絡編程
https://h3pl.github.io/categories/后端/Java網絡編程與NIO/page/2/

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海阳市| 甘洛县| 通化县| 富平县| 东台市| 德兴市| 肥西县| 资溪县| 东至县| 元氏县| 白水县| 安仁县| 永吉县| 南投市| 东安县| 祁阳县| 类乌齐县| 会宁县| 新绛县| 淮阳县| 洛浦县| 杭州市| 龙川县| 大港区| 常熟市| 巢湖市| 清丰县| 冷水江市| 彩票| 晋中市| 苏尼特右旗| 洛阳市| 内乡县| 博罗县| 金溪县| 克山县| 阿拉善左旗| 航空| 定结县| 新野县| 华坪县|