↓推薦關(guān)注↓內(nèi)存管理是C最令人切齒痛恨的問(wèn)題,也是C最有爭(zhēng)議的問(wèn)題,C高手從中獲得了更好的性能,更大的自由,C菜鳥(niǎo)的收獲則是一遍一遍的檢查代碼和對(duì)C的痛恨,但內(nèi)存管理在C中無(wú)處不在,內(nèi)存泄漏幾乎在每個(gè)C程序中都會(huì)發(fā)生,因此要想成為C高手,內(nèi)存管理一關(guān)是必須要過(guò)的,除非放棄C,轉(zhuǎn)到...
↓推薦關(guān)注↓以前做過(guò)兩年C程序移植工作,從Win32平臺(tái)移植到Linux平臺(tái)。大約有上百萬(wàn)行C/C代碼,歷時(shí)一年多。在開(kāi)發(fā)Win32版本時(shí),已經(jīng)強(qiáng)調(diào)了程序的可植性,無(wú)奈Win32團(tuán)隊(duì)里對(duì)Linux精通的人比較少,很多問(wèn)題沒(méi)有想到,直到后來(lái)移植工作開(kāi)始時(shí),才發(fā)現(xiàn)移植并非像想的那樣簡(jiǎn)...
前言今天我們來(lái)深度解密一下負(fù)載均衡器LVS的秘密,相信大家看了你管這破玩意兒叫負(fù)載均衡?這篇文章后,還是有不少疑問(wèn),比如LVS看起來(lái)只有類似路由器的轉(zhuǎn)發(fā)功能,為啥說(shuō)它是四層(傳輸層)負(fù)載均衡器呢,今天我們就來(lái)逐漸揭開(kāi)LVS的迷霧,本文將會(huì)用圖解的方式淺入深地探討LVS的工作機(jī)制最...
↓推薦關(guān)注↓和CPU、內(nèi)存一樣,磁盤和文件系統(tǒng)的管理,也是操作系統(tǒng)最核心的功能。磁盤為系統(tǒng)提供了最基本的持久化存儲(chǔ)。文件系統(tǒng)則在磁盤的基礎(chǔ)上,提供了一個(gè)用來(lái)管理文件的樹(shù)狀結(jié)構(gòu)。那么,磁盤和文件系統(tǒng)是怎么工作的呢?又有哪些指標(biāo)可以衡量它們的性能呢?索引節(jié)點(diǎn)和目錄項(xiàng)文件系統(tǒng),本身是對(duì)...
↓推薦關(guān)注↓可以隨便到網(wǎng)上查一查,各大互聯(lián)網(wǎng)公司筆試面試特別喜歡考一道算法題,即?LRU緩存機(jī)制,又順手查了一下LRU緩存機(jī)制最近有哪些企業(yè)喜歡考察,超級(jí)大熱門!今天給大家分享一篇關(guān)于?Cache?的硬核的技術(shù)文,基本上關(guān)于Cache的所有知識(shí)點(diǎn)都可以在這篇文章里看到。關(guān)于?Ca...
因?yàn)橐獙?duì)百萬(wàn)、千萬(wàn)、甚至是過(guò)億的用戶提供各種網(wǎng)絡(luò)服務(wù),所以在一線互聯(lián)網(wǎng)企業(yè)里面試和晉升后端開(kāi)發(fā)同學(xué)的其中一個(gè)重點(diǎn)要求就是要能支撐高并發(fā),要理解性能開(kāi)銷,會(huì)進(jìn)行性能優(yōu)化。而很多時(shí)候,如果你對(duì)Linux底層的理解不深的話,遇到很多線上性能瓶頸你會(huì)覺(jué)得狗拿刺猬,無(wú)從下手。我們今天用圖解...
我們說(shuō)的ModernC,一般指的是C11及以后的標(biāo)準(zhǔn),從C11開(kāi)始,ModernC引入了大量的實(shí)用的特性,主要是兩大方面,學(xué)習(xí)的時(shí)候也可以從這兩大方面學(xué)習(xí):增強(qiáng)或者改善的語(yǔ)法特性;新增的或者改善的STL庫(kù)。我們來(lái)看幾個(gè)具體的案例:案例1:統(tǒng)一的類成員初始化語(yǔ)法與std::init...
大家都知道,在創(chuàng)建一個(gè)服務(wù)器程序的時(shí)候,需要先listen一下,然后才能接收客戶端的請(qǐng)求。例如下面的這段代碼我們?cè)偈煜げ贿^(guò)了。int?main(int?argc,?char?const?*argv[]){?int?fd?=?socket(AF_INET,?SOCK_STREAM,...
導(dǎo)讀:對(duì)于工程經(jīng)驗(yàn)比較豐富的同學(xué),并發(fā)應(yīng)該也并不是陌生的概念了,但是每個(gè)人所理解的并發(fā)問(wèn)題,卻又往往并不統(tǒng)一,本文系統(tǒng)梳理了百度C工程師在進(jìn)行并發(fā)優(yōu)化時(shí)所作的工作。一、背景簡(jiǎn)單回顧一下,一個(gè)程序的性能構(gòu)成要件大概有三個(gè),即算法復(fù)雜度、IO開(kāi)銷和并發(fā)能力。由于現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)復(fù)雜...
↓推薦關(guān)注↓本文是《C并發(fā)編程》一文的姊妹篇。將著重介紹C11標(biāo)準(zhǔn)引入的內(nèi)存模型。前言在《C并發(fā)編程》一文中,我們已經(jīng)介紹了C11到C17在并發(fā)編程方面的新增API。借助那篇文章中的知識(shí),你應(yīng)該已經(jīng)可以開(kāi)發(fā)一個(gè)完善的C并發(fā)系統(tǒng)。這對(duì)絕大部分人來(lái)說(shuō),是足夠的了。但在一些情況下,我們...
在ModernC之前,C無(wú)疑是個(gè)更容易寫出坑的語(yǔ)言,無(wú)論從開(kāi)發(fā)效率,和易坑性,讓很多新手望而卻步。比如內(nèi)存泄露問(wèn)題,就是經(jīng)常會(huì)被寫出來(lái)的坑,本文就讓我們一起來(lái)看看,這些讓現(xiàn)在或者曾經(jīng)的C程序員淚流滿面的內(nèi)存泄露場(chǎng)景吧。你是否有踩過(guò)?1.函數(shù)內(nèi)或者類成員內(nèi)存未釋放這類問(wèn)題可以稱之為...
socketfd長(zhǎng)什么樣子?什么是socketfd?粗糙的來(lái)講,就是網(wǎng)絡(luò)fd,比如我們最常見(jiàn)的C/S客戶端服務(wù)端的編程模式,就是網(wǎng)絡(luò)通信的一種方式。撇開(kāi)底層和協(xié)議細(xì)節(jié),網(wǎng)絡(luò)通信和文件讀寫從接口上有本質(zhì)區(qū)別嗎?其實(shí)沒(méi)啥區(qū)別,不就是讀過(guò)來(lái)和寫過(guò)去嘛,簡(jiǎn)稱IO。我們先看一下socket...
不論是在x86平臺(tái)上,還是在嵌入式平臺(tái)上,系統(tǒng)的啟動(dòng)一般都經(jīng)歷了bootloader到操作系統(tǒng),再到應(yīng)用程序,這樣的三級(jí)跳過(guò)程。每一個(gè)相互交接的過(guò)程,都是我們學(xué)習(xí)的重點(diǎn)。這篇文章,我們?nèi)匀灰詘86平臺(tái)為例,一起來(lái)看一下:從上電之后,系統(tǒng)是如何一步一步的進(jìn)入應(yīng)用程序的入口地址。bo...
昨天在知乎上刷到一個(gè)熱門問(wèn)題:程序員需要達(dá)到什么水平才能順利拿到20k無(wú)壓力?其中一個(gè)最熱門的回答是:“其實(shí),無(wú)論你是前端還是后端、想進(jìn)大廠還是拿高薪,算法都一定很重要?!睘槭裁矗惴〞?huì)如此重要?初入職場(chǎng)時(shí),一位資深前輩說(shuō)過(guò)的一段話,受用至今:”我們招人的時(shí)候都有一個(gè)標(biāo)準(zhǔn),就是招...
289117336
Tronlong創(chuàng)龍
13030203448
大有可為
MXX1597759
xingnan123
xiaoguaixh
Y0825
LorenandGabriel
ilovenaibao
bluesky0318
liqinglong1023