欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

精益求精!華為工程師凝聚超凡的智慧結(jié)晶:網(wǎng)絡(luò)編程,已獻(xiàn)上膝蓋 - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

精益求精!華為工程師凝聚超凡的智慧結(jié)晶:網(wǎng)絡(luò)編程,已獻(xiàn)上膝蓋

發(fā)表時(shí)間:2020-10-17

發(fā)布人:葵宇科技

瀏覽次數(shù):44

為什么要學(xué)習(xí)底層知識(shí)?

不學(xué)習(xí)底層知識(shí)可能不會(huì)阻礙你成為一個(gè)稱(chēng)職的程序員,但也許會(huì)阻礙你成為一個(gè)優(yōu)秀的程序員。

了解底層的知識(shí)有助于解決問(wèn)題,并且做出更好的設(shè)計(jì)。打個(gè)比方,就像庖丁解牛,他看到一個(gè)牛后,不止看到的是牛,而是由各個(gè)骨骼,經(jīng)絡(luò),肌肉等模塊組成的有機(jī)體——整個(gè)系統(tǒng)對(duì)你來(lái)說(shuō)就是赤裸裸的,沒(méi)有任何神秘的面紗。這樣也許能夠給程序員提供更多的安全感。

但是如果你編程所依賴(lài)的平臺(tái)需要你去了解更底層的知識(shí)才能夠解決問(wèn)題,那么,他可能沒(méi)有做好他應(yīng)盡的職責(zé)。

我們每個(gè)程序員或許都有一個(gè)夢(mèng),那就是成為大牛,我們或許都沉浸在各種框架中,以為框架就是一切,以為應(yīng)用層才是最重要的,你錯(cuò)了。在當(dāng)今計(jì)算機(jī)行業(yè)中,會(huì)應(yīng)用是基本素質(zhì),如果你懂其原理才能讓你在行業(yè)中走的更遠(yuǎn),而計(jì)算機(jī)基礎(chǔ)知識(shí)又是重中之重。下面,跟隨我的腳步,為你介紹一下計(jì)算機(jī)底層知識(shí)。

第一份筆記、底層知識(shí)筆記

大綱

目錄

CPU

大家都是程序員,大家都是和計(jì)算機(jī)打交道的程序員,大家都是和計(jì)算機(jī)中軟件硬件打交道的程序員,大家都是和CPU打交道的程序員,所以,不管你是玩兒硬件的還是做軟件的,你的世界都少不了計(jì)算機(jī)最核心的- CPU

CPU是什么

CPU的全稱(chēng)是Central Processing Unit ,它是你的電腦中最硬核的組件,這種說(shuō)法一點(diǎn)不為過(guò)。CPU是能夠讓你的計(jì)算機(jī)叫計(jì)算機(jī)的核心組件,但是它卻不能代表你的電腦,CPU與計(jì)算機(jī)的關(guān)系就相當(dāng)于大腦和人的關(guān)系。它是一種小型的計(jì)算機(jī)芯片,它嵌入在臺(tái)式機(jī)、筆記本電腦或者平板電腦的主板。上。通過(guò)在單個(gè)計(jì)算機(jī)芯片上放置數(shù)十億個(gè)微型晶體管來(lái)構(gòu)建CPU。這些晶體管使它能夠執(zhí)行運(yùn)行存儲(chǔ)在系統(tǒng)內(nèi)存中的程序所需的計(jì)算,也就是說(shuō)CPU決定了你電腦的計(jì)算能力。

CPU的內(nèi)部結(jié)構(gòu)

標(biāo)志寄存器

內(nèi)存的物理結(jié)構(gòu)

在了解一個(gè)事物之前,你首先得先需要見(jiàn)過(guò)它,你才會(huì)有印象,才會(huì)有想要了解的興趣,所以我們首先需要先看一下什么是內(nèi)存以及它的物理結(jié)構(gòu)是怎樣的。

內(nèi)存的現(xiàn)實(shí)模型

為了便于記憶,我們把內(nèi)存模型映射成為我們現(xiàn)實(shí)世界的模型,在現(xiàn)實(shí)世界中,內(nèi)存的模型很想我們生活的樓房。在這個(gè)樓房中,1層可以存儲(chǔ)一個(gè)字節(jié)的數(shù)據(jù),樓層號(hào)就是地址,下面是內(nèi)存和樓層整合的模型圖

內(nèi)存的使用

鏈表

下面我們來(lái)介紹一下鏈表和二叉樹(shù)它們都是可以不用考慮索引的順序就可以對(duì)元素進(jìn)行讀寫(xiě)的方式。通過(guò)使用鏈表,可以高效的對(duì)數(shù)據(jù)元素進(jìn)行添加和刪除操作。而通過(guò)使用二叉樹(shù),則可以更高效的對(duì)數(shù)據(jù)進(jìn)行檢索

二叉樹(shù)

二叉樹(shù)也是一種檢索效率非常高的數(shù)據(jù)結(jié)構(gòu),二叉樹(shù)是指在鏈表的基礎(chǔ)上往數(shù)組追加元素時(shí),考慮到數(shù)組的大小關(guān)系,將其分成左右兩個(gè)方向的表現(xiàn)形式。假如我們把50這個(gè)值保存到了數(shù)組中,那么,如果接下來(lái)要進(jìn)行值寫(xiě)入的話,就需要和50比較,確定誰(shuí)大誰(shuí)小,比50數(shù)值大的放右邊,小的放左邊,下圖是二叉樹(shù)的比較示例

為什么用二進(jìn)制表示

便于計(jì)算機(jī)處理的補(bǔ)數(shù)

算數(shù)右移和邏輯右移的區(qū)別

邏輯運(yùn)算的竅門(mén)

哈夫曼算法和莫爾斯編碼

下面我們來(lái)介紹另外一種壓縮算法,即哈夫曼算法。在了解哈夫曼算法之前,你必須舍棄半角英文數(shù)字的1個(gè)字符是1個(gè)字節(jié)(8位)的數(shù)據(jù)下面我們就來(lái)認(rèn)識(shí)一下哈夫曼算法的基本思想。

用二叉樹(shù)實(shí)現(xiàn)哈夫曼算法

剛才已經(jīng)提到,莫爾斯編碼是根據(jù)日常文本中各字符的出現(xiàn)頻率來(lái)決定表示各字符的編碼數(shù)據(jù)長(zhǎng)度的。不過(guò),在該編碼體系中,對(duì)AAAAAABBCDDEEEEEF這種文本來(lái)說(shuō)并不是效率最高的。

下面我們來(lái)看一下哈夫曼算法。哈夫曼算法是指,為各壓縮對(duì)象文件分別構(gòu)造最佳的編碼體系,并以該編碼體系為基礎(chǔ)來(lái)進(jìn)行壓縮。因此,用什么樣的編碼(哈夫曼編碼)對(duì)數(shù)據(jù)進(jìn)行分割,就要由各個(gè)文件而定。用哈夫曼算法壓縮過(guò)的文件中,存儲(chǔ)著哈夫曼編碼信息和壓縮過(guò)的數(shù)據(jù)。

認(rèn)識(shí)磁盤(pán)

首先,磁盤(pán)和內(nèi)存都具有存儲(chǔ)功能,它們都是存儲(chǔ)設(shè)備。區(qū)別在于,內(nèi)存是通過(guò)電流來(lái)實(shí)現(xiàn)存儲(chǔ); 磁盤(pán)則是通過(guò)磁記錄技術(shù)來(lái)實(shí)現(xiàn)存儲(chǔ)。內(nèi)存是一種高速,造假昂貴的存儲(chǔ)設(shè)備;而磁盤(pán)則是速度較慢、造假低廉的存儲(chǔ)設(shè)備;電腦斷電后,內(nèi)存中的數(shù)據(jù)會(huì)丟失,而磁盤(pán)中的數(shù)據(jù)可以長(zhǎng)久保留。內(nèi)存是屬于內(nèi)部存儲(chǔ)設(shè)備,硬盤(pán)是屬于外部存儲(chǔ)設(shè)備。一般在我們的計(jì)算機(jī)中,磁盤(pán)和內(nèi)存是相互配合共同作業(yè)的。

程序不讀入內(nèi)存就無(wú)法運(yùn)行

在了解磁盤(pán)前,還需要了解一下內(nèi)存的運(yùn)行機(jī)制是怎樣的, 我們的程序被保存在存儲(chǔ)設(shè)備中,通過(guò)使用CPU讀入來(lái)實(shí)現(xiàn)程序指令的執(zhí)行。這種機(jī)制稱(chēng)為存儲(chǔ)程序方式,現(xiàn)在看來(lái)這種方 式是理所當(dāng)然的,但在以前程序的運(yùn)行都是通過(guò)改變計(jì)算機(jī)的布線來(lái)讀寫(xiě)指令的。

計(jì)算機(jī)最主要的存儲(chǔ)部件是內(nèi)存和磁盤(pán)。磁盤(pán)中存儲(chǔ)的程序必須加載到內(nèi)存中才能運(yùn)行,在磁盤(pán)中保存的程序是無(wú)法直接運(yùn)行的,這是因?yàn)樨?fù)責(zé)解析和運(yùn)行程序內(nèi)容的CPU是需要通過(guò)程序計(jì)數(shù)器來(lái)指定內(nèi)存地址從而讀出程序指令的。

Windows操作系統(tǒng)克服了CPU以外的硬件差異

可以使用虛擬機(jī)獲取其他環(huán)境

操作系統(tǒng)功能的歷史

操作系統(tǒng)其實(shí)也是一種軟件,任何新事物的出現(xiàn)肯定都有它的歷史背景,那么操作系統(tǒng)也不是憑空出現(xiàn)的,肯定有它的歷史背景。

操作系統(tǒng)和高級(jí)編程語(yǔ)言使硬件抽象化

通過(guò)使用操作系統(tǒng)提供的系統(tǒng)調(diào)用,程序員不必直接編寫(xiě)控制硬件的程序,而且,通過(guò)使用高級(jí)編程語(yǔ)言,有時(shí)也無(wú)需考慮系統(tǒng)調(diào)用的存在,系統(tǒng)調(diào)用往往是自動(dòng)觸發(fā)的,操作系統(tǒng)和高級(jí)編程語(yǔ)言能夠使硬件抽象化,這很了不起。

匯編語(yǔ)言的語(yǔ)法是操作碼+操作數(shù)

在匯編語(yǔ)言中,一行表示一對(duì)CPU的一個(gè)指令。匯編語(yǔ)言指令的語(yǔ)法結(jié)構(gòu)是操作碼+操作數(shù),也存在只有操作碼沒(méi)有操作數(shù)的指令

臨時(shí)確保局部變量使用的內(nèi)存空間

外圍設(shè)備的中斷請(qǐng)求

IRQCInterrupt Request) 代表的就是中斷請(qǐng)求。IRQ用來(lái)暫停當(dāng)前正在運(yùn)行的程序,并跳轉(zhuǎn)到其他程序運(yùn)行的必要機(jī)制。該機(jī)制被稱(chēng)為處理中斷。中斷處理在硬件控制中擔(dān)當(dāng)著重要的角色。因?yàn)槿绻麤](méi)有中斷處理,就有可能無(wú)法順暢進(jìn)行處理的情況。

利用DMA實(shí)現(xiàn)短時(shí)間內(nèi)大量數(shù)據(jù)傳輸

由于內(nèi)容涉及較為全面,所以就不一一介紹了..............Σ( ° △ °|||)︴.....完整筆記請(qǐng)看文末

第二份筆記、網(wǎng)絡(luò)是怎樣連接的

探索之旅路線圖

目錄大綱

由于筆記章節(jié)實(shí)在過(guò)多過(guò)長(zhǎng),內(nèi)容涉及太全就不一一展現(xiàn)出來(lái)了Σ( ° △ °|||)︴

第一章、瀏覽器生成消息

  • 生成HTTP請(qǐng)求消息
  • 向DNS服務(wù)器查詢(xún)Web服務(wù)器的IP地址
  • 全世界DNS服務(wù)器的大接力
  • 委托協(xié)議棧發(fā)送消息

瀏覽器并不會(huì)親自負(fù)責(zé)數(shù)據(jù)的傳送。傳送消息是搬運(yùn)數(shù)字信息的機(jī)制負(fù)責(zé)的工作,因此瀏覽器會(huì)委托它將數(shù)據(jù)發(fā)送出去。具體來(lái)說(shuō),就是委托操作系統(tǒng)中的網(wǎng)絡(luò)控制軟件將消息發(fā)送給服務(wù)器。第1章中,我們會(huì)探索到瀏覽器將數(shù)據(jù)委托出去為止。

HTTP的基本思路

IP地址的基本知識(shí)

解析器的內(nèi)部原理

尋找相應(yīng)的DNS服務(wù)器并獲取IP地址

第二章、用電信號(hào)傳輸 TCP/IP數(shù)據(jù)

  • 創(chuàng)建套接字
  • 連接服務(wù)器
  • 收發(fā)數(shù)據(jù)
  • 從服務(wù)器斷開(kāi)并刪除套接字
  • IP與以太網(wǎng)的包收發(fā)操作
  • UDP協(xié)議的收發(fā)操作

第1章,我們從解析瀏覽器中輸入的網(wǎng)址開(kāi)始,探索了生成HTTP請(qǐng)求消息、委托操作系統(tǒng)發(fā)送消息等步驟。本章,我們將講解操作系統(tǒng)中的協(xié)議棧是如何處理數(shù)據(jù)發(fā)送請(qǐng)求的。第1章介紹了發(fā)送消息的場(chǎng)景,接下來(lái)我們將視角切換到協(xié)議棧的內(nèi)部來(lái)繼續(xù)探索吧。

協(xié)議棧的內(nèi)部結(jié)構(gòu)

根據(jù)網(wǎng)絡(luò)包平均往返時(shí)間調(diào)整ACK號(hào)等待時(shí)間

使用窗口有效管理ACK號(hào)

通過(guò)ARP查詢(xún)目標(biāo)路由器的MAC地址

給網(wǎng)絡(luò)包再加3個(gè)控制數(shù)據(jù)

第三章、從網(wǎng)線到網(wǎng)絡(luò)設(shè)備

  • 信號(hào)在網(wǎng)線和集線器中傳輸
  • 交換機(jī)的包轉(zhuǎn)發(fā)操作
  • 路由器的包轉(zhuǎn)發(fā)操作
  • 路由器的附加功能

上一章,我們探索了客戶(hù)端中的協(xié)議棧和網(wǎng)卡,介紹了發(fā)送網(wǎng)絡(luò)包,也就是將網(wǎng)絡(luò)包轉(zhuǎn)換成電信號(hào)通過(guò)網(wǎng)線傳輸出去的過(guò)程。本章我們將繼續(xù)跟著上一章的腳步,看一看通過(guò)網(wǎng)線傳輸出去的包是如何經(jīng)過(guò)集線器、交換機(jī)和路由器等網(wǎng)絡(luò)設(shè)備,最終進(jìn)入互聯(lián)網(wǎng)的。

"雙絞”是為了抑制噪聲

自動(dòng)協(xié)商:確定最優(yōu)的傳輸速率

地址轉(zhuǎn)換的基本原理

第四章、通過(guò)接入網(wǎng)進(jìn)入互聯(lián)網(wǎng)內(nèi)部

  • ADSL接入網(wǎng)的結(jié)構(gòu)和工作方式
  • 光纖接入網(wǎng)(FTTH)
  • 接入網(wǎng)中使用的PPP和隧道
  • 網(wǎng)絡(luò)運(yùn)營(yíng)商的內(nèi)部
  • 跨越運(yùn)營(yíng)商的網(wǎng)絡(luò)包

上一章,我們探索了從客戶(hù)端計(jì)算機(jī)發(fā)送的網(wǎng)絡(luò)包通過(guò)家庭和公司局域網(wǎng)中的集線器和路由器前往目的地的過(guò)程。本章,我們來(lái)看一看同絡(luò)包是如何通過(guò)互聯(lián)網(wǎng)接入路由器,最終進(jìn)入互聯(lián)網(wǎng)內(nèi)部的。

連接用戶(hù)與互聯(lián)網(wǎng)的接入網(wǎng)

分離器的作用

單模與多模

通過(guò)光纖分路來(lái)降低成本

在以太網(wǎng)上傳輸PPP消息

POP和NOC

第五章、服務(wù)器端的局域網(wǎng)中有什么玄機(jī)

  • Web服務(wù)器的部署地點(diǎn)
  • 防火墻的結(jié)構(gòu)和原理
  • 通過(guò)將請(qǐng)求平均分配給多臺(tái)服務(wù)器來(lái)平衡負(fù)載
  • 使用緩存服務(wù)器分擔(dān)負(fù)載
  • 內(nèi)容分發(fā)服務(wù)

上一章,我們探索了網(wǎng)絡(luò)包在進(jìn)入互聯(lián)網(wǎng)之后,通過(guò)通信線路和運(yùn)營(yíng)商網(wǎng)絡(luò)到達(dá)服務(wù)器POP端的過(guò)程。接下來(lái),網(wǎng)絡(luò)包將繼續(xù)朝服務(wù)器前進(jìn),并通過(guò)服務(wù)器前面的防火墻、緩存服務(wù)器、負(fù)載均衡器等。本章我們將對(duì)這部分進(jìn)行探索。

將Web服務(wù)器部署在數(shù)據(jù)中心

使用負(fù)載均衡器分配訪問(wèn)

緩存服務(wù)器通過(guò)更新時(shí)間管理內(nèi)容

利用內(nèi)容分發(fā)服務(wù)分擔(dān)負(fù)載

第六章、請(qǐng)求到達(dá)Web服務(wù)器響應(yīng)返回瀏覽器

上一章,我們探索了Web服務(wù)器前面的防火墻、緩存服務(wù)器、負(fù)載均衡器等設(shè)備,現(xiàn)在網(wǎng)絡(luò)包已經(jīng)通過(guò)這些設(shè)備,到達(dá)了Web服務(wù)器中。本章的探索之旅就從這里開(kāi)始。

服務(wù)器端的套接字和端口號(hào)

將請(qǐng)求的URI轉(zhuǎn)換為實(shí)際的文件名

網(wǎng)絡(luò)包的旅程

網(wǎng)絡(luò)包的旅程( 續(xù))

從輸入網(wǎng)址到顯示出網(wǎng)頁(yè)內(nèi)容,這個(gè)過(guò)程只有短短幾秒的時(shí)間。然而,正如本書(shū)所講,在這短短幾秒的背后,離不開(kāi)各種設(shè)備和軟件的相互配合。我們?cè)谔诫U(xiǎn)之旅中所涉獵的這些內(nèi)容已經(jīng)十分復(fù)雜了,但這還僅僅是網(wǎng)絡(luò)世界的一小部分而已,還有很多內(nèi)容我們無(wú)法講解,如果深人挖掘其中一些細(xì)節(jié)也是難以窮盡的。網(wǎng)絡(luò)的復(fù)雜度由此可見(jiàn)一斑。

這份【底層知識(shí)寶典】【網(wǎng)絡(luò)是怎樣連接的】筆記文檔分別為100+、366頁(yè),需要完整版的朋友,可以轉(zhuǎn)發(fā)此文關(guān)注小編,私信小編【見(jiàn)下圖】來(lái)獲取!!

當(dāng)然,單單有文檔看是遠(yuǎn)遠(yuǎn)不夠的,還有視頻和相匹配的課件進(jìn)行學(xué)習(xí)提升,努力把計(jì)算機(jī)網(wǎng)絡(luò)這一塊兒給搞明白,相信一定會(huì)有不凡的人生!!

HTTP/TCP/IP/網(wǎng)絡(luò)IO學(xué)習(xí)視頻

還有課件分享

TCP

IO課件

TCP/IP

TCP/IP/IO網(wǎng)絡(luò)通信視頻和課件獲取,點(diǎn)贊關(guān)注小編,【見(jiàn)下圖】獲取!

好了,今天就分享到這里了,希望大家能夠好好學(xué)習(xí),把計(jì)算機(jī)網(wǎng)絡(luò)這一塊兒給提升上來(lái),也希望本文能夠得到大家的喜歡!!

相關(guān)案例查看更多