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

來源:互聯網
上載者:User

標籤:node.js   資料庫   線程   阻塞   根目錄   blog   google   人人   串連   

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程式 

 

 

 

 

 

 

 

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.