在程序出現(xiàn)bug的時(shí)候,最好的解決辦法就是通過(guò)?GDB?調(diào)試程序,然后找到程序出現(xiàn)問(wèn)題的地方。比如程序出現(xiàn)?段錯(cuò)誤(內(nèi)存地址不合法)時(shí),就可以通過(guò)?GDB?找到程序哪里訪問(wèn)了不合法的內(nèi)存地址而導(dǎo)致的。本文不是介紹GDB的使用方式,而是大概介紹GDB的實(shí)現(xiàn)原理,當(dāng)然GDB是一個(gè)龐大...
什么是RST我們都知道TCP正常情況下斷開(kāi)連接是用四次揮手,那是正常時(shí)候的優(yōu)雅做法。但異常情況下,收發(fā)雙方都不一定正常,連揮手這件事本身都可能做不到,所以就需要一個(gè)機(jī)制去強(qiáng)行關(guān)閉連接。RST就是用于這種情況,一般用來(lái)異常地關(guān)閉一個(gè)連接。它是一個(gè)TCP包頭中的標(biāo)志位。正常情況下,不...
什么是一致性協(xié)議?注意,今天是大白話(huà)隨便聊聊,目的是直白的了解raft是什么,不用太摳理論定義。什么是一致性協(xié)議?字面理解就是讓某些東西保持一致的協(xié)議嘛。什么是一致?大白話(huà)就是內(nèi)容完全相同唄。以存儲(chǔ)場(chǎng)景舉例,假設(shè)有三個(gè)磁盤(pán)文件,大小為1M,如果三個(gè)文件1M的數(shù)據(jù)都完全相同,那么這...
在平時(shí)資料中,我們??吹剑簄ew和delete,new[]和delete[]一定要配對(duì)使用!也有人說(shuō):有時(shí)候不配對(duì)使用也不會(huì)出現(xiàn)問(wèn)題。也許你也是只知其然,不知其所以然,然而我也有點(diǎn)懵了。那就研究下這個(gè)問(wèn)題:首先,看下這段配對(duì)使用代碼:#include?#include?using...
之前整理過(guò)一篇C20新特性的文章全網(wǎng)首發(fā)??!C20新特性全在這一張圖里了,里面提到過(guò)latch、barrier和semaphore,但是沒(méi)有詳細(xì)介紹過(guò)三者的作用和區(qū)別,這里詳細(xì)介紹下。latch這個(gè)可能大多數(shù)人都有所了解,這就是我們經(jīng)常會(huì)用到的CountDownLatch。用于使...
↓推薦關(guān)注↓Qt6.2正式發(fā)布,它是自我們開(kāi)始邁向全新Qt主要版本以來(lái),一直在努力的版本。Qt6.2得益于我們?yōu)镼t6所做的所有架構(gòu)升級(jí),并包含了Qt5.15中幾乎所有深受喜愛(ài)的附加模塊。Qt6.2也是Qt公司為商業(yè)版客戶(hù)提供的Qt6系列中第一個(gè)長(zhǎng)周期支持版。在我們升級(jí)到Qt6的...
↓推薦關(guān)注↓轉(zhuǎn)自:量子位?公眾號(hào)(QbitAI)程序bug也能負(fù)負(fù)得正嗎?還真可以。比如程序員們?cè)偈煜げ贿^(guò)的排序算法,通過(guò)兩個(gè)“bug”居然能歪打正著,實(shí)在令人匪夷所思。請(qǐng)看這位程序員寫(xiě)的數(shù)組升序排序代碼:for?i?=?1?to?n?do??for?j?=?1?to?n?do?...
通過(guò)/proc文件系統(tǒng)探究虛擬內(nèi)存我們會(huì)通過(guò)/proc文件系統(tǒng)找到正在運(yùn)行的進(jìn)程的字符串所在的虛擬內(nèi)存地址,并通過(guò)更改此內(nèi)存地址的內(nèi)容來(lái)更改字符串內(nèi)容,使你更深入了解虛擬內(nèi)存這個(gè)概念!這之前先介紹下虛擬內(nèi)存的定義!虛擬內(nèi)存虛擬內(nèi)存是一種實(shí)現(xiàn)在計(jì)算機(jī)軟硬件之間的內(nèi)存管理技術(shù),它將程...
↓推薦關(guān)注↓文章目錄一、QUIC如何解決TCP的隊(duì)頭阻塞問(wèn)題?1.1TCP為何會(huì)有隊(duì)頭阻塞問(wèn)題1.2QUIC如何解決隊(duì)頭阻塞問(wèn)題1.3QUIC沒(méi)有隊(duì)頭阻塞的多路復(fù)用二、QUIC如何優(yōu)化TCP的連接管理機(jī)制?2.1TCP連接的本質(zhì)是什么2.2QUIC如何減少TCP建立連接的開(kāi)銷(xiāo)2....
↓推薦關(guān)注↓1.線程池原理我們使用線程的時(shí)候就去創(chuàng)建一個(gè)線程,這樣實(shí)現(xiàn)起來(lái)非常簡(jiǎn)便,但是就會(huì)有一個(gè)問(wèn)題:如果并發(fā)的線程數(shù)量很多,并且每個(gè)線程都是執(zhí)行一個(gè)時(shí)間很短的任務(wù)就結(jié)束了,這樣頻繁創(chuàng)建線程就會(huì)大大降低系統(tǒng)的效率,因?yàn)轭l繁創(chuàng)建線程和銷(xiāo)毀線程需要時(shí)間。那么有沒(méi)有一種辦法使得線程可...
↓推薦關(guān)注↓大家好,今天給大家分享一篇關(guān)于Cache的硬核的技術(shù)文,基本上關(guān)于Cache的所有知識(shí)點(diǎn)都可以在這篇文章里看到。關(guān)于Cache這方面內(nèi)容圖比較多,不想自己畫(huà)了,所以圖都來(lái)自《ComputerArchitecture:AQuantitativeApproach》。這是一...
↓推薦關(guān)注↓ASan,即AddressSanitizer,是一個(gè)適用于c/c程序的動(dòng)態(tài)內(nèi)存錯(cuò)誤檢測(cè)器,它由一個(gè)編譯器檢測(cè)模塊(LLVMpass)和一個(gè)替換malloc函數(shù)的運(yùn)行時(shí)庫(kù)組成,在性能及檢測(cè)內(nèi)存錯(cuò)誤方面都優(yōu)于Valgrind,你值得擁有。一、適用平臺(tái)在LLVM3.1版之后...
↓推薦關(guān)注↓Qt6.2正式發(fā)布,它是自我們開(kāi)始邁向全新Qt主要版本以來(lái),一直在努力的版本。Qt6.2得益于我們?yōu)镼t6所做的所有架構(gòu)升級(jí),并包含了Qt5.15中幾乎所有深受喜愛(ài)的附加模塊。Qt6.2也是Qt公司為商業(yè)版客戶(hù)提供的Qt6系列中第一個(gè)長(zhǎng)周期支持版。在我們升級(jí)到Qt6的...
眾所周知,STL容器不是線程安全的。對(duì)于vector,即使寫(xiě)方(生產(chǎn)者)是單線程寫(xiě)入,但是并發(fā)讀的時(shí)候,由于潛在的內(nèi)存重新申請(qǐng)和對(duì)象復(fù)制問(wèn)題,會(huì)導(dǎo)致讀方(消費(fèi)者)的迭代器失效。實(shí)際表現(xiàn)也就是招致了coredump。另外一種情況,如果是多個(gè)寫(xiě)方,并發(fā)的push_back(),也會(huì)導(dǎo)...
今天給大家講講衡量網(wǎng)絡(luò)性能的四大指標(biāo):帶寬、時(shí)延、抖動(dòng)、丟包。如何客戶(hù)需要我們?nèi)ピu(píng)估一個(gè)網(wǎng)絡(luò)的性能,我們就可以從這四方面去進(jìn)行評(píng)估。帶寬1、帶寬概念:帶寬在百度百科中定義:在單位時(shí)間內(nèi)從網(wǎng)絡(luò)中的某一點(diǎn)到另一點(diǎn)所能通過(guò)的“最高數(shù)據(jù)率”。計(jì)算機(jī)網(wǎng)絡(luò)的帶寬是指網(wǎng)絡(luò)可通過(guò)的最高數(shù)據(jù)率,即...
289117336
Tronlong創(chuàng)龍
13030203448
大有可為
MXX1597759
xingnan123
xiaoguaixh
Y0825
LorenandGabriel
ilovenaibao
bluesky0318
liqinglong1023