關(guān)閉
  • Effective?C ?高階筆記

    讓自己習(xí)慣C條款01:視C為一個(gè)語言聯(lián)邦C并不是一個(gè)帶有一組守則的一體語言:他是從四個(gè)次語言(C、Object-OrientedC、Template、STL)組成的聯(lián)邦政府,每個(gè)次語言都有自己的規(guī)約。記住這四個(gè)次于語言你就會(huì)發(fā)現(xiàn)C容易了解得多。條款02:盡量以con...

    單片機(jī)
    2024-09-20
  • C/C 為什么要專門設(shè)計(jì)個(gè) do…while?

    最初do...while的出現(xiàn),更多的是作為循環(huán)控制流的一種語法糖。因?yàn)椴徽撌莣hile還是for循環(huán),都是要先判斷是否滿足進(jìn)入循環(huán)體的條件的。滿足條件之后才能進(jìn)入循環(huán)去執(zhí)行循環(huán)體內(nèi)的操作。而有些時(shí)候,第一次的執(zhí)行邏輯我們不需要滿足循環(huán)條件,也要執(zhí)行。這時(shí)候就可以用do...wh...

  • TCP粘包?|?硬核圖解

    事情從一個(gè)健身教練說起吧。李東,自稱亞健康終結(jié)者,嘗試使用互聯(lián)網(wǎng)的模式拓展自己的業(yè)務(wù)。在某款新開發(fā)的聊天軟件琛琛上發(fā)布廣告。鍵盤說來就來。瘋狂發(fā)送"李東",回車發(fā)送!,"亞健康終結(jié)者",再回車發(fā)送!還記得四層網(wǎng)絡(luò)協(xié)議長什么樣子嗎?四層網(wǎng)絡(luò)協(xié)議四層網(wǎng)絡(luò)模型每層各司其職,消息在進(jìn)入每...

  • 字節(jié)一面:“為什么網(wǎng)絡(luò)要分層?每一層的職責(zé)、包含哪些協(xié)議?”

    這是一道我秋招面試字節(jié)遇到的真題。這篇文章我會(huì)首先結(jié)合我們?nèi)粘5能浖到y(tǒng)開發(fā)介紹?「“為什么網(wǎng)絡(luò)要分層”?」?,隨后我會(huì)介紹?「“OSI7層模型”」?以及?「“TCP/IP4層模型”」。我會(huì)詳細(xì)介紹目前廣泛使用的?「“TCP/IP4層模型”」?包括每一層做的事情以及相關(guān)的協(xié)議介紹...

  • 圖解?Linux??|??管道通信的原理?

    處于安全的考慮,不同進(jìn)程之間的內(nèi)存空間是相互隔離的,也就是說?進(jìn)程A?是不能訪問?進(jìn)程B?的內(nèi)存空間,反之亦然。如果不同進(jìn)程間能夠相互訪問和修改對(duì)方的內(nèi)存,那么當(dāng)前進(jìn)程的內(nèi)存就有可能被其他進(jìn)程非法修改,從而導(dǎo)致安全隱患。不同的進(jìn)程就像是大海上孤立的島嶼,它們之間不能直接相互通信,...

  • 深入理解?glibc?malloc:內(nèi)存分配器實(shí)現(xiàn)原理

    ↓推薦關(guān)注↓前言堆內(nèi)存(HeapMemory)是一個(gè)很有意思的領(lǐng)域。你可能和我一樣,也困惑于下述問題很久了:如何從內(nèi)核申請(qǐng)堆內(nèi)存?誰管理它?內(nèi)核、庫函數(shù),還是應(yīng)用本身?內(nèi)存管理效率怎么這么高?!堆內(nèi)存的管理效率可以進(jìn)一步提高嗎?最近,我終于有時(shí)間去深入了解這些問題。下面就讓我來談...

  • 這篇 CPU Cache,估計(jì)也沒人看

    ↓推薦關(guān)注↓無論你寫什么樣的代碼都會(huì)交給CPU來執(zhí)行,所以,如果你想寫出性能比較高的代碼,這篇文章中提到的技術(shù)還是值得認(rèn)真學(xué)習(xí)的。另外,千萬別覺得這些東西沒用,這些東西非常有用,十多年前就是這些知識(shí)在性能調(diào)優(yōu)上幫了我的很多大忙,從而跟很多人拉開了差距……基礎(chǔ)知識(shí)首先,我們都知道現(xiàn)...

  • 25?張圖詳解交換機(jī):秒懂二層交換機(jī)的?16?個(gè)問題

    學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò),其實(shí)就是學(xué)習(xí)網(wǎng)絡(luò)協(xié)議。通過各種各樣的網(wǎng)絡(luò)協(xié)議,實(shí)現(xiàn)不同的網(wǎng)絡(luò)需求。當(dāng)然,網(wǎng)絡(luò)協(xié)議不是憑空存在的,而是運(yùn)行在網(wǎng)絡(luò)設(shè)備上。搞懂網(wǎng)絡(luò)協(xié)議,只是知道了技術(shù)原理。搞懂網(wǎng)絡(luò)設(shè)備,才能把所學(xué)的網(wǎng)絡(luò)知識(shí)用起來,實(shí)際解決我們的網(wǎng)絡(luò)需求。下面我們來看看最常見的網(wǎng)絡(luò)設(shè)備——交換機(jī)。1、...

  • 馮·諾依曼?54?年傳奇:上帝讓他開掛?

    ↓推薦關(guān)注↓【導(dǎo)讀】約翰·馮·諾依曼是20世紀(jì)最有影響力的人物之一。從原子彈,到計(jì)算機(jī)、再到量子力學(xué)、氣候變化,你可能很難出對(duì)我們今天的世界和生活影響更大的科學(xué)家了。在20世紀(jì)的天才中,有幾個(gè)杰出的人物:愛因斯坦、圖靈、霍金,毫無疑問,馮·諾依曼也屬于他們中的一個(gè),盡管許多人不知...

    單片機(jī)
    2021-12-07
  • 深入理解虛擬化

    什么是虛擬化虛擬化技術(shù)是云計(jì)算的根基,在計(jì)算機(jī)技術(shù)中,虛擬化(技術(shù))或虛擬技術(shù)(英語:Virtualization)是一種資源管理技術(shù),是將計(jì)算機(jī)的各種實(shí)體資源(CPU、內(nèi)存、磁盤空間、網(wǎng)絡(luò)適配器等),予以抽象、轉(zhuǎn)換后呈現(xiàn)出來并可供分割、組合為一個(gè)或多個(gè)電腦配置環(huán)境。由此,打破實(shí)...

  • 經(jīng)典 | 圖解 Linux 內(nèi)存性能優(yōu)化核心思想

    ↓推薦關(guān)注↓今天分享一篇內(nèi)存性能優(yōu)化的文章,文章用了大量精美的圖深入淺出地分析了Linux內(nèi)核slab性能優(yōu)化的核心思想,slab是Linux內(nèi)核小對(duì)象內(nèi)存分配最重要的算法,文章分析了內(nèi)存分配的各種性能問題(在不同的場(chǎng)景下面),并給出了這些問題的優(yōu)化方案,這個(gè)對(duì)我們實(shí)現(xiàn)高性能內(nèi)存...

  • 為什么空類大小是 1

    我們可能都知道,C中空類的大小是1。#include?class?EmptyA?{};int?main()?{???????std::cout?

    單片機(jī)
    2021-12-07
  • 糟糕程序員的 20 個(gè)壞習(xí)慣

    今天想聊一聊優(yōu)秀程序員的基本素養(yǎng)。我想你肯定遇到過這樣一類程序員:他們無論是寫代碼,還是寫文檔,又或是和別人溝通,都顯得特別專業(yè)。每次遇到這類人,我都在想,他們到底是怎么做到的?隨著工作時(shí)間的增長,漸漸地我也總結(jié)出一些經(jīng)驗(yàn),他們身上都保持著一些看似很微小的優(yōu)秀習(xí)慣,但正是因?yàn)檫@些...

  • 研究了一波 Android Native C 內(nèi)存泄漏的調(diào)試

    最近在調(diào)試AndroidNative層的內(nèi)存泄漏問題,整理了一些筆記,分享一下如何查看內(nèi)存信息?在代碼中打印,開啟一個(gè)線程,間隔固定時(shí)間打印出當(dāng)前內(nèi)存信息【有好多種獲取內(nèi)存信息的API,這里只列出其中一種方式,親測(cè)有效】private?void?startMemProfiler(...

  • 數(shù)據(jù)中心為什么需要大二層網(wǎng)絡(luò)

    推薦關(guān)注↓數(shù)據(jù)中心為什么需要大二層網(wǎng)絡(luò)?在開始之前,首先要明確一點(diǎn),大二層網(wǎng)絡(luò)基本上都是針對(duì)數(shù)據(jù)中心場(chǎng)景的,因?yàn)樗鼘?shí)際上就是為了解決數(shù)據(jù)中心的服務(wù)器虛擬化之后的虛擬機(jī)動(dòng)態(tài)遷移這一特定需求而出現(xiàn)的。對(duì)于普通的園區(qū)網(wǎng)之類網(wǎng)絡(luò)而言,大二層網(wǎng)絡(luò)并沒有特殊的價(jià)值和意義(除了某些特殊場(chǎng)景,例...