你是一臺(tái)電腦,你的名字叫A很久很久之前,你不與任何其他電腦相連接,孤苦伶仃。直到有一天,你希望與另一臺(tái)電腦B建立通信,于是你們各開(kāi)了一個(gè)網(wǎng)口,用一根網(wǎng)線連接了起來(lái)。用一根網(wǎng)線連接起來(lái)怎么就能"通信"了呢?我可以給你講IO、講中斷、講緩沖區(qū),但這不是研究網(wǎng)絡(luò)時(shí)該關(guān)心的問(wèn)題。如果你糾...
導(dǎo)讀相信大家應(yīng)該都有搶火車票的經(jīng)驗(yàn),每年年底,這都是一場(chǎng)盛宴。然而你有沒(méi)有想過(guò)搶火車票這個(gè)算法是怎么實(shí)現(xiàn)的呢?其實(shí)并沒(méi)有你想的那么難。位運(yùn)算先回顧一下位運(yùn)算:12306搶票算法詳解我們以北京到西安這趟高鐵為例,比如我的路線就是從北京到西安,車上如果只剩最后一張票了,那么如果有其他...
↓推薦關(guān)注↓轉(zhuǎn)自:cnBeta前言VisualStudio2022正式版于發(fā)布。新版本帶有g(shù)o-live許可證,可供生產(chǎn)使用。在VisualStudio2019的基礎(chǔ)上,新版集成開(kāi)發(fā)壞境提供了非常多的改進(jìn),包括對(duì)64位、.NET6和C20的支持,為核心調(diào)試器提供更好的性能,并在實(shí)...
↓推薦關(guān)注↓無(wú)論你寫什么樣的代碼都會(huì)交給CPU來(lái)執(zhí)行,所以,如果你想寫出性能比較高的代碼,這篇文章中提到的技術(shù)還是值得認(rèn)真學(xué)習(xí)的。另外,千萬(wàn)別覺(jué)得這些東西沒(méi)用,這些東西非常有用,十多年前就是這些知識(shí)在性能調(diào)優(yōu)上幫了我的很多大忙,從而跟很多人拉開(kāi)了差距……基礎(chǔ)知識(shí)首先,我們都知道現(xiàn)...
最近在調(diào)試AndroidNative層的內(nèi)存泄漏問(wèn)題,整理了一些筆記,分享一下如何查看內(nèi)存信息?在代碼中打印,開(kāi)啟一個(gè)線程,間隔固定時(shí)間打印出當(dāng)前內(nèi)存信息【有好多種獲取內(nèi)存信息的API,這里只列出其中一種方式,親測(cè)有效】private?void?startMemProfiler(...
今天想聊一聊優(yōu)秀程序員的基本素養(yǎng)。我想你肯定遇到過(guò)這樣一類程序員:他們無(wú)論是寫代碼,還是寫文檔,又或是和別人溝通,都顯得特別專業(yè)。每次遇到這類人,我都在想,他們到底是怎么做到的?隨著工作時(shí)間的增長(zhǎng),漸漸地我也總結(jié)出一些經(jīng)驗(yàn),他們身上都保持著一些看似很微小的優(yōu)秀習(xí)慣,但正是因?yàn)檫@些...
我們可能都知道,C中空類的大小是1。#include?class?EmptyA?{};int?main()?{???????std::cout?
↓推薦關(guān)注↓今天分享一篇內(nèi)存性能優(yōu)化的文章,文章用了大量精美的圖深入淺出地分析了Linux內(nèi)核slab性能優(yōu)化的核心思想,slab是Linux內(nèi)核小對(duì)象內(nèi)存分配最重要的算法,文章分析了內(nèi)存分配的各種性能問(wèn)題(在不同的場(chǎng)景下面),并給出了這些問(wèn)題的優(yōu)化方案,這個(gè)對(duì)我們實(shí)現(xiàn)高性能內(nèi)存...
▼點(diǎn)擊下方名片,關(guān)注公眾號(hào)▼磁珠的選型重要嗎?先看下磁珠選型現(xiàn)狀:磁珠用得最多的地方,應(yīng)該是串聯(lián)在電源上面,用于電源濾波。只要保證額定電流,DCR引起的壓降滿足要求,再大致看下100Mhz時(shí)的阻抗,基本上就可以了,然后在公司物料庫(kù)里面挑一個(gè),盡量不用新物料。如果按照上述方式,確實(shí)...
你以為這些人像發(fā)絲的勾勒是PS做的嗎?NO!這是AI算法的效果!這么好的效果,大家一定好奇是通過(guò)什么AI手段實(shí)現(xiàn)的。經(jīng)過(guò)小編的一番調(diào)研,這項(xiàng)技術(shù)叫做Matting,是指通過(guò)計(jì)算前景的顏色和透明度,將前景從影像中擷取出來(lái),并生成一張Alpha圖的技術(shù)。圖片數(shù)據(jù)引用公開(kāi)數(shù)據(jù)集[1]還...
大家好,我是小林。我在之前的圖解系統(tǒng)寫過(guò)LinuxI/O的文章,但是沒(méi)有集中在一起講。今天就跟大家分享一篇,LinuxI/O系統(tǒng)。目錄傳統(tǒng)的SystemCallI/O??讀操作??寫操作??網(wǎng)絡(luò)I/O??磁盤I/O高性能優(yōu)化的I/O存儲(chǔ)設(shè)備的I/O棧I/OBuffering???...
前言在高并發(fā)系統(tǒng)當(dāng)中,分庫(kù)分表是必不可少的技術(shù)手段之一,同時(shí)也是BAT等大廠面試時(shí),經(jīng)??嫉臒衢T考題。你知道我們?yōu)槭裁匆龇謳?kù)分表嗎?這個(gè)問(wèn)題要從兩條線說(shuō)起:垂直方向和水平方向。1垂直方向垂直方向主要針對(duì)的是業(yè)務(wù),下面聊聊業(yè)務(wù)的發(fā)展跟分庫(kù)分表有什么關(guān)系。1.1單庫(kù)在系統(tǒng)初期,業(yè)務(wù)...
1kafka簡(jiǎn)介??Kafka是一個(gè)分布式的基于發(fā)布/訂閱模式的消息隊(duì)列(MessageQueue),主要應(yīng)用與大數(shù)據(jù)實(shí)時(shí)處理領(lǐng)域。其主要設(shè)計(jì)目標(biāo)如下:?以時(shí)間復(fù)雜度為O(1)的方式提供消息持久化能力,即使對(duì)TB級(jí)以上數(shù)據(jù)也能保證常數(shù)時(shí)間的訪問(wèn)性能?高吞吐率。即使在非常廉價(jià)的機(jī)器...
我們使用MQ作為消息中間件,傳輸一些消息的時(shí)候,必須考慮到消息丟失的可能。因?yàn)橛械臅r(shí)候消息丟失了,會(huì)產(chǎn)生很嚴(yán)重的后果,比如消息計(jì)費(fèi)數(shù)據(jù),跟錢有關(guān)的消息。這篇文章我們以RocketMQ為例來(lái)講解,如何設(shè)計(jì)一套全鏈路消息不丟失的方案。接下來(lái)我們分別講下生產(chǎn)者、broker、消費(fèi)者,如...
許多程序員在人到中年之后,會(huì)選擇從技術(shù)崗位轉(zhuǎn)到管理崗位。如果從大廠跳到小公司當(dāng)CTO,是一種怎樣的體驗(yàn)?一個(gè)BAT的程序員接到某創(chuàng)業(yè)小公司的邀請(qǐng)后,發(fā)出了這樣的疑問(wèn),不知自己如何選擇。網(wǎng)友回復(fù):看老板。如果老板是非技術(shù)或非產(chǎn)品出身,從未參與過(guò)項(xiàng)目開(kāi)發(fā),認(rèn)為技術(shù)工作很簡(jiǎn)單,那就別去...