欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Node.js的相關(guān)問題有哪些

本篇內(nèi)容主要講解“Node.js的相關(guān)問題有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Node.js的相關(guān)問題有哪些”吧!

固鎮(zhèn)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

Node.js的相關(guān)問題有哪些

1. Node誕生于哪一年?

Node誕生2009

2009年3月,Node的作者在其博客上宣布準(zhǔn)備基于V8創(chuàng)建一個(gè)輕量級(jí)的Web服務(wù)器并提供一套庫

同年5月,在GitHub發(fā)布最初的版本

2011年7月,在微軟的支持下發(fā)布了windows版本

2. 是誰創(chuàng)造出來的?

Ryan Dahl是Node的創(chuàng)造者,被稱為Node之父

但在2012年1月,Ryan Dahl將掌門人身份轉(zhuǎn)交給Isaac Z.Schlueter,由他接受Node的版本發(fā)布及bug修復(fù)等工作,Isaac Z.Schlueter也是后來NPM的作者

3. 為什么叫Node?

Node有很多別稱,比如Nodejs、NodeJS、Node.js等,那為什么是Node呢?

起初,Ryan Dahl稱他的項(xiàng)目為web.js,就是一個(gè)web服務(wù)器,但是項(xiàng)目的發(fā)展超出了他最初單純開發(fā)一個(gè)web服務(wù)器的設(shè)想。變成了一個(gè)構(gòu)建網(wǎng)絡(luò)應(yīng)用的基礎(chǔ)框架,可以在它的基礎(chǔ)上構(gòu)建更多的東西,如服務(wù)器、客戶端、命令行工具等等。Node發(fā)展為一個(gè)強(qiáng)制不共享任何資源的單線程、單進(jìn)程系統(tǒng),包含是適宜網(wǎng)絡(luò)的庫,為構(gòu)建大型分布式應(yīng)用程序提供基礎(chǔ)設(shè)施,其目標(biāo)也稱為一個(gè)構(gòu)建快速、可伸縮的網(wǎng)絡(luò)應(yīng)用服務(wù)。它自身非常簡(jiǎn)單,通過通信協(xié)議來組織許多Node,非常容易通過擴(kuò)展來達(dá)成構(gòu)建大型網(wǎng)絡(luò)應(yīng)用的目的。每一個(gè)Node進(jìn)程都構(gòu)成了這個(gè)網(wǎng)絡(luò)應(yīng)用中的一個(gè)節(jié)點(diǎn),這正是Node的含義

4. 為什么是JavaScript成為了Node的實(shí)現(xiàn)語言?

選擇JavaScript作為Node的實(shí)現(xiàn)語言的主要原因有3個(gè):

  • 高性能

  • 符合事件驅(qū)動(dòng)

  • 沒有歷史包袱

Ryan Dahl曾經(jīng)評(píng)估過C、Lua、Haskell、Ruby等作為備選實(shí)現(xiàn),但是C開發(fā)門檻高,Lua有很多的歷史包袱,Haskell又覺得自己還玩不轉(zhuǎn),而Ruby的虛擬機(jī)的性能又不太好。綜合之下選擇了JavaScript作為Node的實(shí)現(xiàn)語言

你可能會(huì)跟我一樣想,JavaScript就沒有歷史包袱嗎?是的,JavaScript在后端一直沒有市場(chǎng),歷史包袱相當(dāng)于零

5. Node有哪些主要特點(diǎn)?

主要有以下特點(diǎn):

  • 異步I/O

  • 事件和回調(diào)函數(shù)

  • 單線程

Node保留了前端瀏覽器JavaScript中的那些熟悉的接口,沒有改寫語言本身的任何特性

6. Node有哪些應(yīng)用場(chǎng)景?

Node的應(yīng)用場(chǎng)景主要有以下幾種:

  • CPU密集型

  • CPU密集型業(yè)務(wù)

  • 分布式應(yīng)用

Node利用事件循環(huán)的處理能力,不需要為每一個(gè)請(qǐng)求啟動(dòng)一個(gè)線程,從而更有效的組織起更多的硬件資源;對(duì)于偏重CPU棧操作的業(yè)務(wù),Node的表現(xiàn)也是足夠高效的,主要原因是V8的深度性能優(yōu)化

7. CPU密集型應(yīng)用會(huì)給Node帶來什么挑戰(zhàn),如何解決?

CPU密集型應(yīng)用會(huì)給Node帶來的主要挑戰(zhàn)是:由于JavaScript單線程,如果長時(shí)間計(jì)算(如大的循環(huán)),將會(huì)導(dǎo)致CPU時(shí)間片不能釋放,使得后續(xù)I/O無法發(fā)起

通常方案:

  • 適當(dāng)調(diào)整和分解大型運(yùn)算任務(wù)

如果上述方案無法解決,Node還有兩種方法來充分利用CPU

  • Node可以編寫C/C++擴(kuò)展

  • 通過子進(jìn)程的方式,將一部分Node進(jìn)程當(dāng)做常駐服務(wù)進(jìn)程用于計(jì)算,然后利用進(jìn)程間的消息來傳遞結(jié)果,將計(jì)算與I/O分離

到此,相信大家對(duì)“Node.js的相關(guān)問題有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文標(biāo)題:Node.js的相關(guān)問題有哪些
本文路徑:http://www.chinadenli.net/article40/gcijeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)Google定制網(wǎng)站網(wǎng)站維護(hù)定制開發(fā)網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)