介紹 問(wèn):如何對(duì)golang程序進(jìn)行性能調(diào)優(yōu)庄蹋? 當(dāng)然是使用golang中集成的大殺器pprof耸弄,來(lái)幫助我們從cpu, heap, block等維度來(lái)分析程序寨蹋,還可以生成調(diào)用鏈...
介紹 問(wèn):如何對(duì)golang程序進(jìn)行性能調(diào)優(yōu)庄蹋? 當(dāng)然是使用golang中集成的大殺器pprof耸弄,來(lái)幫助我們從cpu, heap, block等維度來(lái)分析程序寨蹋,還可以生成調(diào)用鏈...
先拋出官網(wǎng)答案: In contrast to CHAR, VARCHAR values are stored as a 1-byte or 2-byte length pr...
最近做一個(gè)庫(kù)存發(fā)貨的業(yè)務(wù)羞延,用戶(hù)購(gòu)買(mǎi)一個(gè)商品時(shí)(例如游戲點(diǎn)卡),需要隨機(jī)的從庫(kù)存表中選擇一個(gè)返回給用戶(hù)梢睛。 查了下資料肥印,mysql大致有三種方式來(lái)實(shí)現(xiàn)隨機(jī)查詢(xún),總結(jié)在這里 創(chuàng)建測(cè)...
編譯語(yǔ)言 vs 解釋語(yǔ)言 本文會(huì)參照J(rèn)ava來(lái)比較分析GO的編譯绝葡,為了解兩者區(qū)別深碱,閱讀正文前可以先了解下這兩個(gè)概念 程序的執(zhí)行,說(shuō)到底就是將代碼編譯成平臺(tái)能運(yùn)行的機(jī)器碼藏畅,然后...
最近和朋友聊TreeMap、HashMap挪蹭、ConcurrentHashMap的底層原理時(shí)亭饵,都知道用到了紅黑樹(shù),但紅黑樹(shù)到底是一個(gè)什么樣子的算法梁厉,我們卻并不清楚辜羊。 今天簡(jiǎn)單總...
[TOC] 閱讀spring源碼時(shí),有許多 “核心類(lèi)” 的作用我們了解了词顾,才會(huì)閱讀的更順暢八秃。這里總結(jié)下我閱讀源碼時(shí)認(rèn)為比較重要,需要了解的一些 “核心類(lèi)” 注:本文前三節(jié) 為...
spring 中 AOP是基于 “動(dòng)態(tài)代理” 實(shí)現(xiàn),其采用了兩種方式: java代理:采用java內(nèi)置的代理API實(shí)現(xiàn) cglib代理:采用第三方API實(shí)現(xiàn) 本文主要闡述這兩...
循環(huán)依賴(lài) 所謂循環(huán)依賴(lài)上忍,是指在spring中骤肛,類(lèi)A中有一個(gè)成員變量為類(lèi)B,而類(lèi)B中也有一個(gè)成員變量為類(lèi)A窍蓝。這會(huì)造成在spring初始化容器中的bean時(shí)腋颠,bean A的初始化...
簡(jiǎn)單整理下ThreadLocal的原理,以及它需要注意的內(nèi)存泄漏吓笙。 ThreadLocal原理 ThreadLocal不多介紹淑玫,可看作線程內(nèi)的局部變量(這個(gè)比喻很貼切)。我們...
在【Java并發(fā)學(xué)習(xí)一】如何實(shí)現(xiàn)一個(gè)線程池上進(jìn)行擴(kuò)展面睛,我們想一下如何實(shí)現(xiàn)一個(gè)定時(shí)任務(wù)線程池呢絮蒿? 所謂 “定時(shí)任務(wù)線程池” 就是指放入線程池的任務(wù),可以按照指定的等待周期循環(huán)執(zhí)...
遇到過(guò) 方法A 內(nèi)調(diào)用Aop修飾的方法B 失效、方法A 內(nèi)調(diào)用@Async修飾的方法C 失效亲茅,百度谷歌都沒(méi)看到一個(gè)好的解決回铛,這里分享一個(gè)我的解決方案。 為什么失效 這個(gè)百度上...
下面的刪除線程執(zhí)行的:`iterator.remove();`克锣,這個(gè)時(shí)候`expectedModCount = modCount;`茵肃。上面的迭代線程迭代時(shí)應(yīng)該是不會(huì)報(bào)錯(cuò)的
java.util.ConcurrentModificationException詳解本想翻譯一下java.util.ConcurrentModificationException這篇文章的。但發(fā)現(xiàn)講的不夠詳細(xì)深入袭祟,查了一些資料后決定自己擴(kuò)展一下验残。水平有限,僅...
閱讀spring源碼時(shí)巾乳,看到ApplicationEvent相關(guān)的代碼覺(jué)得熟悉又困惑您没,深入了解了一下鸟召,發(fā)現(xiàn)原來(lái)是spring事件機(jī)制(原諒我之前沒(méi)用過(guò)……)。這里在【Spri...
注:本文內(nèi)容會(huì)有部分涉及上節(jié)的硬件知識(shí):【Java并發(fā)學(xué)習(xí)二】多線程編程的硬件基礎(chǔ)知識(shí)總結(jié) 1. 內(nèi)存屏障 上一節(jié)講過(guò)欧募,為了解決寫(xiě)緩沖器和無(wú)效化隊(duì)列帶來(lái)的有序性和可見(jiàn)性問(wèn)題,...
這篇簡(jiǎn)單梳理下與多線程相關(guān)的硬件知識(shí)仆抵,了解它們能夠讓我們更清晰的了解多線程工作的本質(zhì)跟继,以及關(guān)鍵字synchronized、volatile镣丑、final的實(shí)現(xiàn)原理舔糖。 我們會(huì)發(fā)現(xiàn)...
前言 和設(shè)計(jì)模式一樣,打算花三個(gè)月的時(shí)間莺匠,結(jié)合《Java并發(fā)編程實(shí)戰(zhàn)》一書(shū)金吗,來(lái)總結(jié)下并發(fā)方面的知識(shí)。第一章從線程池的原理開(kāi)始總結(jié)慨蛙,希望自己能堅(jiān)持下來(lái)辽聊,加油! 1. 如何實(shí)現(xiàn)一...