介紹 問:如何對golang程序進行性能調優? 當然是使用golang中集成的大殺器pprof,來幫助我們從cpu, heap, block等維度來分析程序,還可以生成調用鏈...
介紹 問:如何對golang程序進行性能調優? 當然是使用golang中集成的大殺器pprof,來幫助我們從cpu, heap, block等維度來分析程序,還可以生成調用鏈...
先拋出官網答案: In contrast to CHAR, VARCHAR values are stored as a 1-byte or 2-byte length pr...
最近做一個庫存發貨的業務,用戶購買一個商品時(例如游戲點卡),需要隨機的從庫存表中選擇一個返回給用戶。 查了下資料,mysql大致有三種方式來實現隨機查詢,總結在這里 創建測...
編譯語言 vs 解釋語言 本文會參照Java來比較分析GO的編譯,為了解兩者區別,閱讀正文前可以先了解下這兩個概念 程序的執行,說到底就是將代碼編譯成平臺能運行的機器碼,然后...
最近和朋友聊TreeMap、HashMap、ConcurrentHashMap的底層原理時,都知道用到了紅黑樹,但紅黑樹到底是一個什么樣子的算法,我們卻并不清楚。 今天簡單總...
[TOC] 閱讀spring源碼時,有許多 “核心類” 的作用我們了解了,才會閱讀的更順暢。這里總結下我閱讀源碼時認為比較重要,需要了解的一些 “核心類” 注:本文前三節 為...
spring 中 AOP是基于 “動態代理” 實現,其采用了兩種方式: java代理:采用java內置的代理API實現 cglib代理:采用第三方API實現 本文主要闡述這兩...
循環依賴 所謂循環依賴,是指在spring中,類A中有一個成員變量為類B,而類B中也有一個成員變量為類A。這會造成在spring初始化容器中的bean時,bean A的初始化...
簡單整理下ThreadLocal的原理,以及它需要注意的內存泄漏。 ThreadLocal原理 ThreadLocal不多介紹,可看作線程內的局部變量(這個比喻很貼切)。我們...
在【Java并發學習一】如何實現一個線程池上進行擴展,我們想一下如何實現一個定時任務線程池呢? 所謂 “定時任務線程池” 就是指放入線程池的任務,可以按照指定的等待周期循環執...
遇到過 方法A 內調用Aop修飾的方法B 失效、方法A 內調用@Async修飾的方法C 失效,百度谷歌都沒看到一個好的解決,這里分享一個我的解決方案。 為什么失效 這個百度上...
下面的刪除線程執行的:`iterator.remove();`,這個時候`expectedModCount = modCount;`。上面的迭代線程迭代時應該是不會報錯的
java.util.ConcurrentModificationException詳解本想翻譯一下java.util.ConcurrentModificationException這篇文章的。但發現講的不夠詳細深入,查了一些資料后決定自己擴展一下。水平有限,僅...
閱讀spring源碼時,看到ApplicationEvent相關的代碼覺得熟悉又困惑,深入了解了一下,發現原來是spring事件機制(原諒我之前沒用過……)。這里在【Spri...
注:本文內容會有部分涉及上節的硬件知識:【Java并發學習二】多線程編程的硬件基礎知識總結 1. 內存屏障 上一節講過,為了解決寫緩沖器和無效化隊列帶來的有序性和可見性問題,...
這篇簡單梳理下與多線程相關的硬件知識,了解它們能夠讓我們更清晰的了解多線程工作的本質,以及關鍵字synchronized、volatile、final的實現原理。 我們會發現...
前言 和設計模式一樣,打算花三個月的時間,結合《Java并發編程實戰》一書,來總結下并發方面的知識。第一章從線程池的原理開始總結,希望自己能堅持下來,加油! 1. 如何實現一...