最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js的特點(diǎn)詳解

 更新時(shí)間:2017年02月03日 11:25:35   作者:麥子學(xué)院  
本文主要對(duì)Node.js的特點(diǎn)進(jìn)行詳細(xì)介紹。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧

Node.js是一個(gè)基于Chrome v8引擎建立的Java運(yùn)行平臺(tái),用于搭建響應(yīng)速度快、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。本文和大家分享的是Node.js的一些特點(diǎn),希望對(duì)大家學(xué)習(xí)Node.js有幫助。

異步I/O

這里,我們來(lái)詳細(xì)解釋一下:

異步是什么意思

比如說(shuō)你的爸,今天要叫你做些事情,比如說(shuō)你要做飯、洗衣服還有掃地,以及燒開(kāi)水等等一系列的事情。那么,就你一個(gè)人來(lái)說(shuō),你是不是得一件事一件事的挨個(gè)做完了之后,才能接著做下一件事。比如說(shuō),你是不是燒完開(kāi)水,然后才來(lái)掃地,掃完地然后再來(lái)煮飯,煮完飯,你可能才會(huì)做其他事情。那么這個(gè)過(guò)程,我們把它叫做同步的過(guò)程。你做一件事,你必須要等待,等待做完了之后,再做另外一件事。那么這個(gè)時(shí)候,如果我們懂得合理安排時(shí)間的話,我們可以這樣辦:我們?cè)跓_(kāi)水的時(shí)候,我們可以掃地,因?yàn)闊_(kāi)水不用我們守著嘛!只需要把水放好,或點(diǎn)燃就行了。然后,我們可以去做其他事情了。比如說(shuō),掃地,或者是洗衣服,等等一系列的事情我們都可以做。那么這樣,在做完了同樣的事情,但是我們所需要花費(fèi)的時(shí)間,它是不一樣的。你用后面這種方式,可能用的時(shí)間會(huì)更短,效率更高。而你用前面那種同步的方式,它的效率會(huì)更低。那么,后面這種事情,我們就把它叫做異步的操作。

事件與回調(diào)

如果你采用異步的方式來(lái)做事情,它的效率會(huì)很高,但是你同時(shí)只能做一個(gè)事情。比如說(shuō),你燒開(kāi)水的時(shí)候,雖然說(shuō)不用你守在那里。但是你掃地了過(guò)后,你這個(gè)水燒開(kāi)的時(shí)候,我怎么知道呢?(就是這件事做好了之后,我怎么知道呢?)

于是我們可以想一下,在這個(gè)水壺上面,給它放一個(gè)小喇叭,當(dāng)這個(gè)水燒開(kāi)了之后會(huì)冒蒸汽,當(dāng)這個(gè)蒸汽吹響這個(gè)喇叭的時(shí)候,我們就知道這個(gè)事情做好了,水燒開(kāi)了,我們就可以接著做水燒開(kāi)之后的事情了。

這個(gè)事件與回調(diào)就是:這個(gè)水燒開(kāi)了以后,它會(huì)以事件的形式來(lái)通知你(我這個(gè)事情做好了,你可以把這個(gè)水裝好了)。

回調(diào)是什么意思

當(dāng)它的事件發(fā)生了過(guò)后,它會(huì)通知你,那么你在裝水這個(gè)過(guò)程,就是在回調(diào)(就是處理這個(gè)過(guò)程)。處理完燒開(kāi)水過(guò)后的結(jié)果

單線程

這一點(diǎn)是node.js比較大的一個(gè)特點(diǎn)。它可以開(kāi)發(fā)出高效的后臺(tái)應(yīng)用(網(wǎng)絡(luò)應(yīng)用)

什么是單線程

還是用剛才那個(gè)例子。你爸叫你做很多件事情,如果你不懂的合理安排時(shí)間,你就只能用同步;那么同步的時(shí)候,你可能會(huì)這樣想:我叫我?guī)讉€(gè)小伙伴來(lái)幫我做這個(gè)事情(叫個(gè)兩三個(gè)小伙伴)。一個(gè)幫我燒開(kāi)水,一個(gè)幫我掃地,一個(gè)幫我煮飯。這樣操作的話,在同一個(gè)時(shí)間段,就有多個(gè)人來(lái)幫你做事情。(這種操作,我們把它叫做多線程操作,就是同一時(shí)間段,有多個(gè)人來(lái)做事情)

多線程操作它有個(gè)缺點(diǎn),就是你請(qǐng)這些小伙伴來(lái)幫你做事情,肯定要犒勞一下他們,那么你勢(shì)必會(huì)花費(fèi)一下你的零用錢,你肯定要買點(diǎn)好吃的東西來(lái)犒勞一下。那么這樣,如果你不想花你的錢,但是你又想把事情做好,那么你怎么辦呢?只能按照剛才我們異步的方式,就是你一個(gè)人做。又要提高效率怎么辦呢?就是我做這件事情的時(shí)候,同時(shí)又要做其它事情,那么這個(gè)就是單線程(就是一個(gè)人做事情)。

跨平臺(tái)

目前我們的node.js在mac系統(tǒng)上、Windows上面和Linux這些上面,都可以運(yùn)行,它已經(jīng)開(kāi)發(fā)除了對(duì)應(yīng)的運(yùn)行環(huán)境了。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • 詳解Node.js中path模塊的resolve()和join()方法的區(qū)別

    詳解Node.js中path模塊的resolve()和join()方法的區(qū)別

    這篇文章主要介紹了詳解Node.js中path模塊的resolve()和join()方法的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • node.js操作mysql簡(jiǎn)單實(shí)例

    node.js操作mysql簡(jiǎn)單實(shí)例

    本文給大家介紹了nodejs 連接Mysql相關(guān)操作的示例代碼,主要用到的是sql語(yǔ)句,都是比較基礎(chǔ)的。
    2017-05-05
  • nodejs連接ftp上傳下載實(shí)現(xiàn)方法詳解【附:踩坑記錄】

    nodejs連接ftp上傳下載實(shí)現(xiàn)方法詳解【附:踩坑記錄】

    這篇文章主要介紹了nodejs連接ftp上傳下載實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了node.js使用ftp模塊實(shí)現(xiàn)針對(duì)ftp上傳、下載相關(guān)操作的方法,并附帶記錄了傳輸速度慢的解決方法,需要的朋友可以參考下
    2023-04-04
  • Node Sass依賴問(wèn)題排查思路解析

    Node Sass依賴問(wèn)題排查思路解析

    這篇文章主要為大家介紹了Node Sass依賴問(wèn)題排查思路解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 基于Koa(nodejs框架)對(duì)json文件進(jìn)行增刪改查的示例代碼

    基于Koa(nodejs框架)對(duì)json文件進(jìn)行增刪改查的示例代碼

    這篇文章主要介紹了基于Koa(nodejs框架)對(duì)json文件進(jìn)行增刪改查的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Node Express用法詳解【安裝、使用、路由、中間件、模板引擎等】

    Node Express用法詳解【安裝、使用、路由、中間件、模板引擎等】

    這篇文章主要介紹了Node Express用法,結(jié)合實(shí)例形式詳細(xì)分析了node.js Express安裝、使用、路由、中間件、模板引擎等相關(guān)概念、原理及操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • node.js中的fs.lchownSync方法使用說(shuō)明

    node.js中的fs.lchownSync方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.lchownSync方法使用說(shuō)明,本文介紹了fs.lchownSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 使用async、enterproxy控制并發(fā)數(shù)量的方法詳解

    使用async、enterproxy控制并發(fā)數(shù)量的方法詳解

    并發(fā)相信對(duì)大家來(lái)說(shuō)都不陌生,這篇文章主要給大家介紹了關(guān)于使用async、enterproxy控制并發(fā)數(shù)量的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • 如何讓node運(yùn)行es6模塊文件及其原理詳解

    如何讓node運(yùn)行es6模塊文件及其原理詳解

    這篇文章主要介紹了如何讓node運(yùn)行es6模塊文件及其原理詳解,詳細(xì)的介紹了2種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • NodeJs 實(shí)現(xiàn)簡(jiǎn)單WebSocket即時(shí)通訊的示例代碼

    NodeJs 實(shí)現(xiàn)簡(jiǎn)單WebSocket即時(shí)通訊的示例代碼

    這篇文章主要介紹了NodeJs 實(shí)現(xiàn)簡(jiǎn)單WebSocket即時(shí)通訊的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評(píng)論

阿克苏市| 塔城市| 东光县| 长乐市| 绵竹市| 浦北县| 淮阳县| 常熟市| 泗阳县| 永城市| 抚顺县| 玛沁县| 高要市| 嘉兴市| 乌拉特前旗| 西吉县| 永兴县| 丰台区| 玛曲县| 祥云县| 都昌县| 安达市| 塔城市| 栾川县| 齐齐哈尔市| 武威市| 金阳县| 宁河县| 丹江口市| 东乌| 红原县| 安图县| 巫山县| 孟连| 广汉市| 尉犁县| 松阳县| 大英县| 平陆县| 汤阴县| 罗定市|