nio讀取某一行數(shù)據(jù) 簡述NIO和IO的區(qū)別?
簡述NIO和IO的區(qū)別?NiO和IO的主要區(qū)別如下:1。NiO的創(chuàng)建是為了使Java程序員能夠在不編寫自定義本機(jī)代碼的情況下實(shí)現(xiàn)高速I/O。NiO通過將最耗時(shí)的I/O操作(即填充和提取緩沖區(qū))傳輸回操
簡述NIO和IO的區(qū)別?
NiO和IO的主要區(qū)別如下:1。NiO的創(chuàng)建是為了使Java程序員能夠在不編寫自定義本機(jī)代碼的情況下實(shí)現(xiàn)高速I/O。NiO通過將最耗時(shí)的I/O操作(即填充和提取緩沖區(qū))傳輸回操作系統(tǒng),可以極大地提高速度。傳統(tǒng)的IO操作是阻塞的,嚴(yán)重影響了程序的運(yùn)行速度。2.流阻比較。原始I/O庫(在java.io文件NiO和NiO最重要的區(qū)別是數(shù)據(jù)的打包和傳輸方式。如前所述,原始I/O以流方式處理數(shù)據(jù),而NiO以塊方式處理數(shù)據(jù)。面向流的I/O系統(tǒng)一次處理一個(gè)字節(jié)的數(shù)據(jù)。輸入流產(chǎn)生一個(gè)字節(jié)的數(shù)據(jù),輸出流消耗一個(gè)字節(jié)的數(shù)據(jù)。為流數(shù)據(jù)創(chuàng)建過濾器非常容易。連接幾個(gè)過濾器也相對(duì)簡單,這樣每個(gè)過濾器只負(fù)責(zé)單個(gè)復(fù)雜處理機(jī)制的一部分。缺點(diǎn)是,面向流的I/O通常非常慢。三。面向塊的I/O系統(tǒng)以塊的形式處理數(shù)據(jù)。每個(gè)操作在一個(gè)步驟中生成或使用一個(gè)數(shù)據(jù)塊。按塊處理數(shù)據(jù)比按字節(jié)(流)處理數(shù)據(jù)快得多。但是面向塊的I/O缺乏面向流的I/O的優(yōu)雅和簡單。