真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java進(jìn)階(10)-網(wǎng)絡(luò)編程

BIO、NIO、AIO
NIO vs IO之間的理念上面的區(qū)別(NIO將阻塞交給了后臺(tái)線(xiàn)程執(zhí)行)

創(chuàng)新互聯(lián)建站是一家專(zhuān)注于網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站與策劃設(shè)計(jì),千陽(yáng)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:千陽(yáng)等地區(qū)。千陽(yáng)做網(wǎng)站價(jià)格咨詢(xún):028-86922220

  • IO是面向流的,NIO是面向緩沖區(qū)的
    • Java IO面向流意味著每次從流中讀一個(gè)或多個(gè)字節(jié),直至讀取所有字節(jié),它們沒(méi)有被緩存在任何地方;
    • NIO則能前后移動(dòng)流中的數(shù)據(jù),因?yàn)槭敲嫦蚓彌_區(qū)的
  • IO流是阻塞的,NIO流是不阻塞的
    • Java IO的各種流是阻塞的。這意味著,當(dāng)一個(gè)線(xiàn)程調(diào)用read() 或 write()時(shí),該線(xiàn)程被阻塞,直到有一些數(shù)據(jù)被讀取,或數(shù)據(jù)完全寫(xiě)入。該線(xiàn)程在此期間不能再干任何事情了
    • Java NIO的非阻塞模式,使一個(gè)線(xiàn)程從某通道發(fā)送請(qǐng)求讀取數(shù)據(jù),但是它僅能得到目前可用的數(shù)據(jù),如果目前沒(méi)有數(shù)據(jù)可用時(shí),就什么都不會(huì)獲取。NIO可讓您只使用一個(gè)(或幾個(gè))單線(xiàn)程管理多個(gè)通道(網(wǎng)絡(luò)連接或文件),但付出的代價(jià)是解析數(shù)據(jù)可能會(huì)比從一個(gè)阻塞流中讀取數(shù)據(jù)更復(fù)雜。?
    • 非阻塞寫(xiě)也是如此。一個(gè)線(xiàn)程請(qǐng)求寫(xiě)入一些數(shù)據(jù)到某通道,但不需要等待它完全寫(xiě)入,這個(gè)線(xiàn)程同時(shí)可以去做別的事情。
  • 選擇器
    • Java NIO的選擇器允許一個(gè)單獨(dú)的線(xiàn)程來(lái)監(jiān)視多個(gè)輸入通道,你可以注冊(cè)多個(gè)通道使用一個(gè)選擇器,然后使用一個(gè)單獨(dú)的線(xiàn)程來(lái)“選擇”通道:這些通道里已經(jīng)有可以處理的輸入,或者選擇已準(zhǔn)備寫(xiě)入的通道。這種選擇機(jī)制,使得一個(gè)單獨(dú)的線(xiàn)程很容易來(lái)管理多個(gè)通道。?
      參考: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區(qū)別
https://blog.csdn.net/guanghuichenshao/article/details/79375967

網(wǎng)絡(luò)編程
https://h3pl.github.io/categories/后端/Java網(wǎng)絡(luò)編程與NIO/page/2/


本文標(biāo)題:Java進(jìn)階(10)-網(wǎng)絡(luò)編程
地址分享:http://weahome.cn/article/gopogd.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部