這篇文章主要介紹“node.js緩沖區(qū)buffer的詳細(xì)介紹”,在日常操作中,相信很多人在node.js緩沖區(qū)buffer的詳細(xì)介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”node.js緩沖區(qū)buffer的詳細(xì)介紹”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
在沁水等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)整合營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),沁水網(wǎng)站建設(shè)費(fèi)用合理。
buffer的英文釋義
buffer在英文中是緩沖,緩存的意思,從這個意思中可以初步獲悉引入buffer是為了在node服務(wù)器上面做緩沖的。
node服務(wù)器在什么場景需要緩沖
既然node是用于服務(wù)器,那就需要應(yīng)對網(wǎng)絡(luò)請求(net,http),操作文件系統(tǒng)(fs,readline),處理圖片,文件的上傳與下載等場景。node選中了js,同時需要V8引擎來執(zhí)行js,強(qiáng)大的V8引擎難道不能勝任了嗎?
V8的限制
為什么V8會有限制呢?V8的誕生是用于chrome瀏覽器的,瀏覽器用于呈現(xiàn)網(wǎng)頁;對于網(wǎng)頁的展示,V8設(shè)計(jì)時在64位操作系統(tǒng)下使用內(nèi)存約為1.4G,32操作系統(tǒng)下約為0.7G內(nèi)存,這樣的內(nèi)存大小對于網(wǎng)頁的展示是足夠的,但是對于服務(wù)器端的使用就會捉襟見肘。
node底層C++來分配內(nèi)存
既然V8限制了內(nèi)存的使用,node底層使用C++來分配內(nèi)存,確實(shí)可以獲取到更大的內(nèi)存,但是老子曰:道可道,非常道,名可名,非常名;同理分配的內(nèi)存有大小,就會有被占滿,阻塞,繼而服務(wù)緩慢,甚至崩潰。
火星移民
想象這個場景,需要將地球(C盤)上10億生物(英文字符,漢字,阿拉伯文字等)轉(zhuǎn)移到火星(D盤),我們在地球和火星之間建立了可容納1千萬生物的空間站(內(nèi)存);如果10億生物同時進(jìn)入空間站,將是一場災(zāi)難(崩潰);地球的航天飛船(緩沖區(qū)buffer)有1000個位置(字節(jié))來運(yùn)載生物到空間站;然后去火星的航天飛船(緩存區(qū)buffer)有1000個位置(字節(jié)),再運(yùn)載生物到火星。
概念提取
Buffer:
用于表示固定長度的字節(jié)序列,好比:固定1000個位置的飛船
UTF-8:
是一種變長的編碼方式。它可以使用1~4個字節(jié)表示一個符號,根據(jù)不同的符號而變化字節(jié)長度。好比:飛船會規(guī)定英文生物占用1個位置,漢字生物占用2個或者3個,4個位置
到此,關(guān)于“node.js緩沖區(qū)buffer的詳細(xì)介紹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!