Node.js入門以及第一個helloworld程序.


1、概念:簡單的說 Node.js 就是運行在服務端的 JavaScript。學之前需要明白Node.js是無法挑戰jsp、php或者asp這種老牌網站的地位的,是永遠不會出現在證券、金融這種領域的。node.js的出現,就像是思維的極限反轉帶來的性能極致,它就像是一個玩具一樣,如果把傳統的jsp必做戰斗機的話,那么node.js就是一個無人機!
 
2、Node.js的三大特性
  • 單線程
  • 事件驅動
  • 非阻塞I/O

Node.js 的這三個特性,缺一不可,正是這些特性導致他的性能高效。當別人考慮如何進行服務器集群的時候,Node.js反其道而行,采用單線程來解決。合理的避免了I/O的等待時間。

Node.js 基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。因為他是單線程、非阻塞I/O,所以避免了I/O訪問數據庫時線程的等待時間,利用這個等待時間異步處理其他事件,同時減少了線程創建和銷毀的開銷,同時,它又是事件驅動的,所以每次的異步回調事件,都又會重新進行排列調度,Node.js的底層語言C++,幾乎一半以上的語言都是在進行事件調度和排列的,所以,其實Node.js 的這三個特性,說的是一個意思,環環相扣,缺一不可。Node.js無時不刻不是在百分之百工作的,就好比,你請了10個人人工作,但是這10個人慢慢悠悠的工作,倒不如請一個人拼命的干活。
 
 
但是Node.js也有他的缺點,因為他是單線程的,所以如果某個用戶把這個線程弄崩潰了,那在這個線程的其他用戶也都無法工作。
 
傳統的服務器需要為每個連接創建一個線程,一個線程大約花費2MB的內存,所以一個8GB的內存大約可以連接4000個用戶。而Node.js來說,一個8GB的內存大約可以連接40000個用戶。
 
當應用程序需要處理大量並發的I/O,而在客戶端發出響應之前,應用程序內部並不需要進行非常復雜的處理的時候,Node.js非常合適。Node.js也非常適合與web Socket配合,開發長連接的實時交互應用程序。
  •    用戶表單收集
  •   考試系統
  •   聊天室
  •   圖文直播
 Node.js沒有根目錄的概念,因為他根本沒有任何的Web容器!甚至讓 Node.js 提供一個靜態服務都非常難!
 
 3、第一個HelloWorld程序
 
 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM