您好,登錄后才能下訂單哦!
好程序員web前端學習路線nodeJs學習過程之認識nodejs,nodeJs只是聽說過,沒見過,沒玩過。從新手開始,我想慢慢掌握它。
首先,我想知道nodeJs是什么?干什么用的。
來源于node官網與網絡:
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境。?
Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。
Node.js是一套用來編寫高性能網絡服務器的JavaScript工具包,一系列的變化由此開始。比較獨特的是,Node.js會假設在POSIX環境下運行Linux 或 Mac OS X。
如果是在Windows下,那就需要安裝MinGW以獲得一個仿POSIX的環境。在Node中,Http是首要的。Node為創建http服務器作了優化,所以在網上看到的大部分示例和庫都是集中在web上(http框架、模板庫等)。
做些什么呢
用于web服務器端;
javascript工具包;
快速構建網絡服務及應用;
nodeJs到底是什么呢,它是服務器端js運行平臺,是一個javascript的運行環境和庫。可以編寫后臺系統或者服務器端的Javascript代碼,交給 Node.js來解釋執行。就像html遇到php會由php來解釋,jsp由jvm解釋執行一樣。
他還有很多的特性就不一一舉例了。Nodejs作為后起之秀的后臺,也有很多吸引人的地方:單線程、V8虛擬機、事件驅動、非阻塞IO;nodejs可以不新增額外線程的情況下,依然可以對任務進行并處理 --node是單線程的。它是通過事件輪詢來實行操作的,對此我們可以充分的利用這一點,盡可能的避免阻塞,取而代之。
那nodejs是做什么的?服務端類似于Java,web應用等;
舉個例子:
var http = require('http');
server = http.createServer(function (req, res) {
???res.writeHeader(200, {"Content-Type": "text/plain"});
???res.end("Hello");
})
server.listen(8000);
console.log("httpd start @8000");
確保nodejs環境安裝成功,對此編譯執行通過,在瀏覽器地址欄輸入localhost:8000,可以看到輸出。
nodeJS的優缺點
優點:1. 高并發
缺點:1. 不適合CPU密集型應用;由于JavaScript單線程的原因,如果有長時間運行的計算(比如大循環),將會導致CPU時間片不能釋放,使得后續I/O無法發起;
解決方案:分解大型運算任務為多個小任務,使得運算能夠適時釋放,不阻塞I/O調用的發起;
只支持單核CPU,不能充分利用CPU
原因:單進程,單線程
解決方案:(1)Nnigx反向代理,負載均衡,開多個進程,綁定多個端口;
(2)開多個進程監聽同一個端口,使用cluster模塊;
開源組件庫質量參差不齊,更新快,向下不兼容
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。