更新時間:2020-08-17 11:32:03 來源:動力節(jié)點(diǎn) 瀏覽1106次
Java NIO視頻教程下載是免費(fèi)的嗎?現(xiàn)在的網(wǎng)絡(luò)很發(fā)達(dá),有不少教程視頻都是可以從網(wǎng)上找到的,而且大多也是能夠免費(fèi)下載的。
Java NIO到底是什么呢?這是很多朋友的疑問。JAVA NIO有兩種解釋:一種叫非阻塞IO(Non-blocking I/O),另一種也叫新的IO(New I/O),其實(shí)是同一個概念。它是一種同步非阻塞的I/O模型,也是I/O多路復(fù)用的基礎(chǔ),已經(jīng)被越來越多地應(yīng)用到大型應(yīng)用服務(wù)器,成為解決高并發(fā)與大量連接、I/O處理問題的有效方式。
Java NIO組件
NIO主要有三大核心部分:Channel(通道),Buffer(緩沖區(qū)), Selector(選擇器)。傳統(tǒng)IO是基于字節(jié)流和字符流進(jìn)行操作(基于流),而NIO基于Channel和Buffer(緩沖區(qū))進(jìn)行操作,數(shù)據(jù)總是從通道讀取到緩沖區(qū)中,或者從緩沖區(qū)寫入到通道中。Selector(選擇區(qū))用于監(jiān)聽多個通道的事件(比如:連接打開,數(shù)據(jù)到達(dá))。因此,單個線程可以監(jiān)聽多個數(shù)據(jù)通道。
1、Buffer
Buffer(緩沖區(qū))是一個用于存儲特定基本類型數(shù)據(jù)的容器。除了boolean外,其余每種基本類型都有一個對應(yīng)的buffer類。Buffer類的子類有ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer, ShortBuffer 。
2、Channel
Channel(通道)表示到實(shí)體,如硬件設(shè)備、文件、網(wǎng)絡(luò)套接字或可以執(zhí)行一個或多個不同 I/O 操作(如讀取或?qū)懭?的程序組件的開放的連接。Channel接口的常用實(shí)現(xiàn)類有FileChannel(對應(yīng)文件IO)、DatagramChannel(對應(yīng)UDP)、SocketChannel和ServerSocketChannel(對應(yīng)TCP的客戶端和服務(wù)器端)。Channel和IO中的Stream(流)是差不多一個等級的。只不過Stream是單向的,譬如:InputStream, OutputStream.而Channel是雙向的,既可以用來進(jìn)行讀操作,又可以用來進(jìn)行寫操作。
3、Selector
Selector(選擇器)用于監(jiān)聽多個通道的事件(比如:連接打開,數(shù)據(jù)到達(dá))。因此,單個的線程可以監(jiān)聽多個數(shù)據(jù)通道。即用選擇器,借助單一線程,就可對數(shù)量龐大的活動I/O通道實(shí)施監(jiān)控和維護(hù)。
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java NIO視頻教程下載是免費(fèi)的嗎?”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
初級 202925
初級 203221
初級 202629
初級 203743