更新時(shí)間:2023-02-08 11:23:58 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1824次
早期程序受CPU影響較大,隨著CPU處理能力的提升,現(xiàn)在的程序性能更多受I/O操作的影響, 其實(shí)各大操作系統(tǒng)對I/O操作做了很多性能的改進(jìn),但是JVM為了保證Java程序在各種平臺上運(yùn)行效果一致,把各種操作系統(tǒng)對I/O性能的提升給屏蔽了, 使得Java在I/O領(lǐng)域一直處于劣勢;學(xué)習(xí)這項(xiàng)技能說實(shí)話是有些難度的,為此動(dòng)力節(jié)點(diǎn)特別錄制了NIO系列教程,想進(jìn)階的朋友,免費(fèi)下載學(xué)習(xí)。
Java雖然有一套完備的I/O類,但是需要處理大量數(shù)據(jù)時(shí),卻可能對執(zhí)行效率造成致命傷害,傳統(tǒng)的I/O也不具備當(dāng)今大多數(shù)操作系統(tǒng)具備的常用功能,如文件鎖定,非阻塞I/O,內(nèi)存映射等, 所以Java在JDK1.4中引用了NIO,可以最大限度的滿足Java程序I/O的需求;
在NIO中有三大核心組件: Channel, Buffer, Selector,傳統(tǒng)的IO面向流的,每次可以從流中讀取一個(gè)或多個(gè)字節(jié),只能向后讀取,不能向前移動(dòng),NIO是面向緩沖區(qū)的,把數(shù)據(jù)讀到一個(gè)緩沖區(qū)中,可以在緩沖區(qū)中向前/向后移動(dòng),增加了程序的靈活性。在NIO中,所有的數(shù)組都需要通過Channel傳輸,通道可以直接將一塊數(shù)據(jù)映射到內(nèi)存中。Channel是雙向的,不僅可以讀取數(shù)據(jù), 還能保存數(shù)據(jù),程序不能直接讀寫Channel通道,Channel只與Buffer緩沖區(qū)交互;
本套視頻與大家深入探討了NIO的新特性, 并告訴大家如何使用這些特性來提升你所寫代碼的執(zhí)行效率,如何才能充分挖掘新的I/O特性所具備的各種潛能,對程序員所面臨的有代表性的I/O問題也進(jìn)行剖析,本課程采用PDT4J教學(xué)法,通過案例讓大家學(xué)會(huì)如何使用這些功能來解決現(xiàn)實(shí)工作中常常遇到的I/O問題;
適應(yīng)人群:至少學(xué)完了Java SE,對NIO編程感興趣,或者是有工作經(jīng)驗(yàn)的人群。
課程大綱目錄
•001.NIO課程導(dǎo)讀
•002.程序讀取數(shù)據(jù)模型
•003.NIO與傳統(tǒng)IO的區(qū)別
•004.緩沖區(qū)的常用屬性
•005.Buffer常用的API
•006.演示Buffer的基本操作
•007.緩沖區(qū)的批量傳輸
•008.緩沖區(qū)創(chuàng)建的兩種方式
•009.緩沖區(qū)的復(fù)制與分隔
•010.直接字節(jié)緩沖區(qū)
•011.hannel概述
•012.Scatter與Gather
•013.FileChannel內(nèi)存映射文件
•014.FileChannel雙向讀寫
•015.FileChannel讀寫文件時(shí)緩沖區(qū)固定大小
由于篇幅原因,這里的課程只展現(xiàn)了一部分,大家可以關(guān)注動(dòng)力節(jié)點(diǎn)官網(wǎng)的Java視頻教程專欄查看全部課程。后續(xù)還有更多的新課程等待發(fā)布,以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"進(jìn)階版本的Java nio視頻教程",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743