原创 VLOG-009:五一特輯

據不完全統計,有大約 1 名朋友催更 Vlog ;我也記在心裏,所以這次更新了五一節的特輯視頻。週末我會不定期更新一些與技術不太相關的內容。你的點贊與分享是對我最大的支持更多推薦內容↓↓↓《又一次生產 CPU 高負載的排查實踐》《沒那麼

原创 分表後需要注意的二三事

前言本篇是上一篇《一次分表踩坑實踐的探討》,所以還沒看過的朋友建議先看上文。還是先來簡單回顧下上次提到了哪些內容:分表策略:哈希、時間歸檔等。分表字段的選擇。數據遷移方案。而本篇文章的背景是在我們上線這段時間遇到的一些問題並嘗試解決的方

原创 設計一個全局異常處理器

前言 最近稍微閒了一點於是把這個半年都沒更新的開源項目 cicada 重新撿了起來。 一些新關注的朋友應該還不知道這項目是幹啥的?先來看看官方介紹吧(其實就我自己寫的😀) cicada: 基於 Netty4 實現的快速、輕量級 WEB 框

原创 What?一個 Dubbo 服務啓動要兩個小時!

前言 前幾天在測試環境碰到一個非常奇怪的與 dubbo 相關的問題,事後我在網上搜索了一圈並沒有發現類似的帖子或文章,於是便有了這篇。 希望對還未碰到或正在碰到的朋友有所幫助。 現象 現象是這樣的,有一天測試在測試環境重新部署一個 dub

原创 常見的集合容器應當避免的坑

前言 前不久幫同事一起 review 一個 job 執行緩慢的問題時發現不少朋友在擼碼實現功能時還是有需要細節不夠注意,於是便有了這篇文章。 ArrayList 踩坑 List<String> temp = new ArrayList()

原创 年輕人的第一篇博客

前言 寫這篇文章的前因是有位讀者留言提到了相關的話題,其實在之前有一篇《如何成爲一位「不那麼差」的程序員》時有簡要提到但沒有細說;這次就借這個機會好好聊聊這個事情的前因後果。 爲什麼要寫博客 爲什麼要寫博客? 我覺得大部分人應該都知道標

原创 線程池沒你想的那麼簡單

前言 原以爲線程池還挺簡單的(平時常用,也分析過原理),這次是想自己動手寫一個線程池來更加深入的瞭解它;但在動手寫的過程中落地到細節時發現並沒想的那麼容易。結合源碼對比後確實不得不佩服 Doug Lea 。 我覺得大部分人直接去看 jav

原创 圖牀失效了?也許你應該試試這個工具

前言 經過幾個小夥伴的提醒,發現個人博客中的許多圖片都裂了無法訪問;原因就不多說,既然出現問題就得要解決。 原本我的處理方式非常簡單粗暴:找到原有的圖片重新下載下來上傳到新的可用圖牀再把圖片地址替換。 這樣搞了一兩篇之後我就絕望了。。

原创 一次分表踩坑實踐的探討

前言 之前不少人問我“能否分享一些分庫分表相關的實踐”,其實不是我不分享,而是真的經驗不多🤣;和大部分人一樣都是停留在理論階段。 不過這次多少有些可以說道了。 先談談背景,我們生產數據庫隨着業務發展量也逐漸起來;好幾張單表已經突破億級數據

原创 『併發包入坑指北』之阻塞隊列

前言 較長一段時間以來我都發現不少開發者對 jdk 中的 J.U.C(java.util.concurrent)也就是 Java 併發包的使用甚少,更別談對它的理解了;但這卻也是我們進階的必備關卡。 之前或多或少也分享過相關內容,但都不成

原创 線程池中你不容錯過的一些細節

背景 上週分享了一篇《一個線程罷工的詭異事件》,最近也在公司內部分享了這個案例。 無獨有偶,在內部分享的時候也有小夥伴問了之前分享時所提出的一類問題: 這其實是一類共性問題,我認爲主要還是兩個原因: 我自己確實也沒講清楚,之前畫

原创 一份針對於新手的多線程實踐

前言 前段時間在某個第三方平臺看到我寫作字數居然突破了 10W 字,難以想象高中 800 字作文我都得巧妙的利用換行來完成(懂的人肯定也幹過😏)。 幹了這行養成了一個習慣:能擼碼驗證的事情都自己驗證一遍。 於是在上週五通宵加班的空餘時間

原创 利用責任鏈模式設計一個攔截器

前言 近期在做 Cicada 的攔截器功能,正好用到了責任鏈模式。 這個設計模式在日常使用中頻率還是挺高的,藉此機會來分析分析。 責任鏈模式 先來看看什麼是責任鏈模式。 引用一段維基百科對其的解釋: 責任鏈模式在面向對象程式設計裏是一種軟

原创 分享幾個 SpringBoot 實用的小技巧

前言 最近分享的一些源碼、框架設計的東西。我發現大家熱情不是特別高,想想大多數應該還是正兒八經寫代碼的居多;這次就分享一點接地氣的: SpringBoot 使用中的一些小技巧。 算不上多高大上的東西,但都還挺有用。 屏蔽外部依賴 第一個是

原创 從源碼分析如何優雅的使用 Kafka 生產者

前言 在上文 設計一個百萬級的消息推送系統 中提到消息流轉採用的是 Kafka 作爲中間件。 其中有朋友諮詢在大量消息的情況下 Kakfa 是如何保證消息的高效及一致性呢? 正好以這個問題結合 Kakfa 的源碼討論下如何正確、高效的發送