背景 服務(wù)上線前進行常規(guī)壓測,壓測完通過監(jiān)控發(fā)現(xiàn)進程占用內(nèi)存久久無法下降,一度認為是內(nèi)存泄露。根據(jù)內(nèi)存泄露排查法,一頓pprof操作,但是發(fā)現(xiàn)服務(wù)所使用的內(nèi)存并不是很高,那么...
背景 服務(wù)上線前進行常規(guī)壓測,壓測完通過監(jiān)控發(fā)現(xiàn)進程占用內(nèi)存久久無法下降,一度認為是內(nèi)存泄露。根據(jù)內(nèi)存泄露排查法,一頓pprof操作,但是發(fā)現(xiàn)服務(wù)所使用的內(nèi)存并不是很高,那么...
前言 defer這個關(guān)鍵字在開發(fā)過程中上場率可不低,初學(xué)者只會知道在當(dāng)前函數(shù)中聲明一個defer函數(shù),那么會在當(dāng)前函數(shù)return時再去執(zhí)行defer定義的函數(shù),但具體原因是...
前言 一般的map都是采用數(shù)組+鏈表的數(shù)據(jù)結(jié)構(gòu)去進行數(shù)據(jù)存儲,在單節(jié)點掛載數(shù)據(jù)過多時,會考慮將鏈表轉(zhuǎn)換成樹結(jié)構(gòu)來提高效率。那么GO語言的map是怎樣實現(xiàn)的呢?有用到樹結(jié)構(gòu)嗎?...
前言 在初學(xué)Go定時任務(wù)之時,腦海中始終有一個問題在徘徊,究竟是每個任務(wù)都有一個goroutine去監(jiān)控,還是多個任務(wù)處于同一個隊列,讓同一個goroutine去輪詢檢查。這...
簡介 熟悉Go的人都知道,它提倡著不要通過共享內(nèi)存來通訊,而要通過通訊來共享內(nèi)存。Go提供了一種獨特的并發(fā)同步技術(shù)來實現(xiàn)通過通訊來共享內(nèi)存,此技術(shù)即為通道。我們可以把一個通道...
編程語言中反射的概念 在計算機科學(xué)領(lǐng)域,反射是指一類應(yīng)用,它們能夠自描述和自控制。也就是說,這類應(yīng)用通過采用某種機制來實現(xiàn)對自己行為的描述(self-representati...
前言 最近項目在整合shiro權(quán)限認證模塊時,給自己挖了一個深坑,也是分析了好久才定位到問題的所在,根本原因還是對spring相關(guān)的技術(shù)點掌握的不夠嫻熟。本文基于spring...
前言 Spring對國際化這一塊支持還是蠻友好的,上手也是蠻簡單,但是加載流程還是需要大家掌握的,不然會少定義一個資源文件會讓你莫名其妙的出現(xiàn)一些bug。接下來主要分享一下關(guān)...
前言 繼第一次搭建springcloud環(huán)境踩坑之后,時隔三個月,第二次踩坑記錄也跟著上線了,SpringCloudConfig坑系列。第一次踩坑讓我理解了用戶線程和守護線程...
前言 隨著業(yè)務(wù)的越來越復(fù)雜,保證程序的健壯性對程序猿來說也變得更加的重要,畢竟不寫B(tài)ug的程序猿不是一個好的程序猿。但怎樣盡可能的保證咱們的程序能夠穩(wěn)定的運行,以及出錯后能夠...
因為之前沒有認真系統(tǒng)學(xué)習(xí)過javadoc,看到@link直接認為是添加url,死活添加不上url鏈接,上google一查,果然理解錯誤,@link是為了方便注釋比如我有兩個方...
Filter-Chain模式簡介 從7月份實習(xí)以來,因為項目中運用alibaba DRUID 數(shù)據(jù)庫中間件、Spring Framework等開源框架,所以就稍微閱讀了部分源...
請求過來是怎么映射到對應(yīng)的方法上,這里離不開映射處理器 HandlerMapping,今天這篇筆記就來探究 HandlerMapping 實現(xiàn)邏輯。本篇筆記主要分析Sprin...
前言 近來在項目中有用到Spring Data Redis,順便研究了一下API,中間還是有些許坑的。由于前期有接觸過Jedis和Reddison,所以對Redis的數(shù)據(jù)結(jié)構(gòu)...
I/O處理過程 對于系統(tǒng)而言,磁盤I/O通常會成為一個瓶頸,尤其是對于數(shù)據(jù)庫而言。數(shù)據(jù)從磁盤讀取到內(nèi)存,存到CPU緩存和寄存器,然后進行處理,最后寫會磁盤,如下圖: 可看到I...
前言 不了解JVM的類加載機制你也可以coding,但是當(dāng)你了解之后,可以讓你在coding的時候避免很多坑,本文將以一道常見的面試題去剖析一下。本文參考深入理解Java虛擬...
二叉樹有多種遍歷方法,有層次遍歷、深度優(yōu)先遍歷、廣度優(yōu)先遍歷等。 本文只涉及二叉樹的先序、中序、后序的遞歸和非遞歸遍歷。 涉及到的代碼都用Java編寫。 首先給出二叉樹節(jié)點類...
前言 在分析dubbo源碼的過程中,發(fā)現(xiàn)dubbo對于擴展點的加載實現(xiàn)的是非常巧妙的,可以達到用時才動態(tài)實例化對象,靈活且節(jié)約資源。其實Dubbo 的擴展點加載是從 JDK ...