第一章
NodeJS使用JavaScript作為開發(fā)語(yǔ)言秕铛,主要是js語(yǔ)言符合事件驅(qū)動(dòng),沒有歷史包袱以及V8引擎的高性能战惊。
NodeJS架構(gòu)
NodeJS的架構(gòu)與Chrome瀏覽器的架構(gòu)類似
Node的特點(diǎn)
- 異步I/O流昏,可以極大的提升效率
- 事件及回調(diào)函數(shù),事件的編程方式具有輕量級(jí)吞获,松耦合况凉,只關(guān)注事務(wù)的優(yōu)點(diǎn),但是事務(wù)之間的合作是一個(gè)問題
- 單線程各拷,優(yōu)點(diǎn)是不用在意死鎖的問題刁绒,以及線程上下文切換在性能上的開銷;缺點(diǎn)在于無(wú)法利用多核CPU烤黍,錯(cuò)誤會(huì)使整個(gè)應(yīng)用退出知市,大量計(jì)算占用CPU導(dǎo)致無(wú)法繼續(xù)調(diào)用異步I/O傻盟。不過Node利用子線程的方法解決了這個(gè)問題
- 跨平臺(tái)
Node應(yīng)用場(chǎng)景
- I/O密集型
- CPU密集型,由于V8的優(yōu)化嫂丙,計(jì)算速度并不慢娘赴,而且可以利用C/C++拓展,速度比起Java更勝一籌