摘要:是什么官網(wǎng)上的定義翻譯過來是一個基于引擎的運(yùn)行環(huán)境。使用了一個事件驅(qū)動非阻塞式的模型,使其輕量又高效。的包管理器,是全球最大的開源庫生態(tài)系統(tǒng)。的特點非常重要單線程事件驅(qū)動事件循環(huán)非阻塞異步所謂的特點,就是是怎樣解決服務(wù)器高性能的問題。
nodejs是什么
nodejs官網(wǎng)(nodejs.org)上的定義:
Node.js? is a JavaScript runtime built on Chrome"s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js" package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
翻譯過來:Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。
Node.js 使用了一個事件驅(qū)動、非阻塞式 I/O 的模型,使其輕量又高效。
Node.js 的包管理器 npm,是全球最大的開源庫生態(tài)系統(tǒng)。
從定義中,我們可以知道nodejs與其他編程語言的一些不同之處:
1.首先nodejs不是一門語言,其是一個基于V8的JS運(yùn)行平臺;與php、jsp等既是語言也是平臺不同。
2.與php、jsp等語言不同,nodejs不用依賴apache、nginx等服務(wù)器軟件,nodejs也可以提供各種web服務(wù)(http服務(wù)器等)。
3.nodejs的思想:花費(fèi)最小的硬件成本,最求更高的并發(fā)、更好的性能。
nodejs的特點(非常重要):
1.單線程
2.事件驅(qū)動(事件循環(huán))
3.非阻塞I/O(異步I/O)
所謂nodejs的特點,就是nodejs是怎樣解決web服務(wù)器高性能的問題。
下一節(jié),開始講單線程特性。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/93083.html
摘要:適合做什么我們學(xué)習(xí)完一門新的技術(shù),我們要知道它適用于什么場景??梢哉f是,極客追求極致性能的產(chǎn)物,缺少服務(wù)器健壯性的考慮。不建議使用在追求穩(wěn)定的業(yè)務(wù)上,如銀行證券電信系統(tǒng)等。還有非常適合更配合,開發(fā)長連接的實時業(yè)務(wù)。 nodejs適合做什么 我們學(xué)習(xí)完一門新的技術(shù),我們要知道它適用于什么場景。 nodejs可以說是,極客追求極致性能的產(chǎn)物,缺少服務(wù)器健壯性的考慮。不建議使用在追求穩(wěn)定的業(yè)...
摘要:特性單線程說明也許你會問,為什么還不安裝還不寫代碼還不講模塊前面我說過,不會一來就。另外,單線程中,操作系統(tǒng)沒有創(chuàng)建銷毀線程的時間開銷。單線程缺點如果有用戶造成線程崩潰,那個整個系統(tǒng)都崩潰了。 nodejs特性1--單線程 說明:也許你會問,為什么還不安裝nodejs?還不寫代碼?還不講模塊?前面我說過,不會一來就hello world。而是會先跟大家講講nodejs的特點,只有大家明...
摘要:容器什么是容器我們以服務(wù)器為例,安裝好服務(wù)器后,我們在可以找到的一個根目錄,往這個根目錄放入靜態(tài)文件,如圖片,可以找瀏覽器上訪問得到,這個目錄我們可以稱為容器。但在中本質(zhì)上是沒有容器的后面可以做路由解析,做到像服務(wù)器那樣的容器。 web容器 什么是web容器?我們以nginx服務(wù)器為例,安裝好nginx服務(wù)器后,我們在可以找到nginx的一個根目錄,往這個根目錄放入靜態(tài)文件,如圖片、x...
摘要:非阻塞下面我們繼續(xù)看看的第個特性非阻塞異步首先,看看什么是非阻塞呢操作,在程序中我們可以廣泛的認(rèn)為是從數(shù)據(jù)庫讀數(shù)據(jù)從硬盤上讀寫文件等。當(dāng)處理完畢后,是怎樣知道該完成了這里就要說到第個特性了事件驅(qū)動。 非阻塞I/O 下面我們繼續(xù)看看,nodejs的第2個特性--非阻塞I/O(異步I/O) 首先,看看什么是非阻塞I/O呢?I/O操作,在程序中我們可以廣泛的認(rèn)為是:從數(shù)據(jù)庫讀數(shù)據(jù)、從硬盤上讀...
摘要:事件驅(qū)動在中,當(dāng)某個執(zhí)行完畢后,會以事件的形式通知執(zhí)行操作的線程而線程去執(zhí)行對應(yīng)事件的回調(diào)函數(shù)。為了處理異步,線程必須要有事件循環(huán),不斷的檢查有沒有事件要處理,并依次處理。其實在底層中,有一半的代碼,都是在處理事件隊列回調(diào)函數(shù)。 事件驅(qū)動 上一節(jié)中,我們提到異步I/O;當(dāng)I/O處理完畢后,nodejs是怎樣知道I/O已經(jīng)完成了呢?又是怎樣去處理的呢?答案是:事件驅(qū)動(事件循環(huán))機(jī)制。 ...
閱讀 1806·2023-04-25 16:29
閱讀 1021·2021-11-15 11:38
閱讀 2347·2021-09-23 11:45
閱讀 1483·2021-09-22 16:03
閱讀 2610·2019-08-30 15:54
閱讀 1252·2019-08-30 10:53
閱讀 2663·2019-08-29 15:24
閱讀 1158·2019-08-26 12:25