node特點(diǎn)
(1) 異步 I/O操作:絕大多數(shù)的操作都是以異步的方式進(jìn)行調(diào)用封救,包括文件操作及網(wǎng)絡(luò)請(qǐng)求;
(2) 事件與回調(diào)函數(shù):Node 可把前端瀏覽器中應(yīng)用廣泛的事件機(jī)制引入到后端捺典,配合異步 I/O操作娇斩;優(yōu)點(diǎn)是事件編程輕量茅主,低耦合部念,只用關(guān)注事務(wù)點(diǎn)等弃酌,缺點(diǎn)是多個(gè)事件不是按出現(xiàn)順序執(zhí)行,不便于解讀儡炼;
(3) 單線程:Node 保持了 JS 單線程的特點(diǎn)妓湘,在 Node 中,JS 與其余線程無(wú)法共享狀態(tài)射赛。單線程好處了不用處理多線程之間的狀態(tài)同步與通信多柑,沒(méi)有死鎖的存在奶是,也沒(méi)有線程切換帶來(lái)的性能開(kāi)銷(xiāo)楣责。缺點(diǎn)是無(wú)法利用? 多核 CPU;錯(cuò)誤會(huì)引起整個(gè)應(yīng)用退出聂沙,應(yīng)用健壯性值得考驗(yàn)秆麸;對(duì)大規(guī)模高 CPU 計(jì)算不友好;
?(4) 跨平臺(tái):在瀏覽器中及汉,HTML5 制定了Web Worker標(biāo)準(zhǔn)來(lái)解決 JS 大規(guī)模計(jì)算導(dǎo)致的阻塞 UI 渲染的問(wèn)題沮趣。而 Node 中,使用child_process創(chuàng)建子進(jìn)程來(lái)應(yīng)對(duì)單線程帶來(lái)的問(wèn)題坷随。
第二章 模塊機(jī)制
第三章 一步I/O
第四章 異步編程
第五章 內(nèi)存控制
第六章 Buffer
第七章 網(wǎng)絡(luò)編程
第八章 構(gòu)建web應(yīng)用