原创 養成習慣的一個小技巧

忽然之思 忽然想起來,好久都不寫作,也不更新簡書了,略有可惜。在過往的日常,最多的寫作場景都是各種工作中的文檔。2022下半年改變一下,多輸出一些非工作的內容,將日常的乍現靈光和不成體系的想法梳理成文,全當一種記錄生活的方式。希望這次能堅持

原创 採坑: Lombok 的 boolean 序列化問題

問題復現   今天碰到一個小問題,調用方反饋我們支付回調接口返回的數據字段和文檔定義不一致.文檔定義的字段名稱是 isClose,而實際返回字段是 close.   我趕緊查看源碼,代碼非常簡單,只有Lombok 註解,那問題的源頭肯定是使

原创 Java 8 Optional 能否解決 NPE ?

答案   Java 8 的 Optional 並不能解決 NPE,但是可以預防 NPE 的發生! 空指針問題   作爲 Java 開發工程師,如果說 NullPointerException 是最常見的異常且沒有之一,肯定是沒有人反駁的.相

原创 Mac系統,如何優雅切換中英文?

開篇   又是好久沒有寫博客了,今天就寫一個工作中的軟件小技巧,可以提高工作中的輸入效率,極大提升幸福感! 背景   作爲一個使用 Mac 系統的Java開發攻城獅,日常使用的軟件非常之多,在頻繁的軟件切換,並輸入時,常常碰到想輸入英文,但

原创 利用 pt-archiver 歸檔 關聯表

開篇   又是好久沒有寫博客了,今天就寫一個在數據歸檔中的小經驗吧! 背景   最近一週接到一個小任務,就是對一些業務表中的冷數據做歸檔.   在對有歸檔需求的業務表分析和梳理後,發現這些業務表中有50%冷數據,歸檔後表大小都能從千萬級別的

原创 關於後端展示層的思考

背景   19年末重構的項目在經歷半年的業務迭代後web層的代碼已經開始混亂,沒有秩序,可讀性下降,由此引發一些的思考. 序   在一次同事相互CodeReview中發現,業務中負責對接App接口的Web項目在半年的業務迭代中,代碼的可讀性

原创 一個好用的 ThreadLocal 工具類

開篇   又是好久沒有寫博客了,今天就放一段代碼吧 背景    工作需要,寫了一個 ThreadLocal 工具類,供大家使用,並歡迎大家提出改進意見 (~ _ ~),共勉!    更復雜的功能並沒有開發,有需求再迭代就可,代碼一定要保持k

原创 分佈式限流大作戰

開篇   一週一篇技術博文又來了,這周我們講點什麼呢?看標題就知道了,那就是分佈式下的限流策略(實在不知道寫些什麼好呢),至於限流的用處,好處,和處理場景就不這裏贅述了(Google全是)。ok,凌雲小課堂正式開始啦,今天要介紹的主要是三種

原创 Redis分佈式鎖的正確實現

開篇   在負責的項目新實現的一個模塊中,要用到分佈式鎖,實現方案是Redis,結果發現網上大部門的博文都過於老舊或總有考慮不周的地方,這裏就和大家分享一個生產可用的Redis分佈式鎖是什麼樣的,又有那些考慮和問題。 分佈式鎖 使用環境  

原创 SpringBoot 不同環境,加載不同日誌配置

開篇   忽然想起好久不寫博客,今天就搞一個 背景   現有項目集成的日誌採集框架有點小問題,每次運行時,都會在日誌加載這裏卡頓半分鐘,非常影響工作效率.並且本地單測或者運行,也沒有日誌採集的必要性,所以我們今天改造項目,實現不同環境下加載

原创 java 性能優化:存儲過程的優化與多線程的限制

  在上篇《java 併發:多線程鎖計數器》中提到過,在工作中碰到一個較大數據量的處理模塊。在上篇中使用多線程解決了數據導入的問題,而在數據導入後碰到了較大數據量的邏輯處理和更新問題,爲了在儘量短的時間內完成數據處理,我們開發組將整個數據處

原创 如何使用 Junit 4.x 測試 私有方法?

開篇   好久不發技術博客,今年要撿起來,新年第一篇就從單測的一個小點講起 背景   作爲要禿頭的程序猿,我們每天要寫非常多的單測代碼,但是我們的單測目標更多時候是可以公開調用的Service層代碼或是 Controller層代碼,如果我們

原创 集羣版shiro(redis)搭建實錄

  公司的公共服務-通知中心要添加登錄驗權功能,在考慮到以後的擴展性和集羣部署的特性,選擇了shiro+redis 的方案,現在就跟隨我看看一個適用於集羣的shiro是如何搭建的。 shiro配置 導包 修改web.xml 添加shiro

原创 Metrics+Influxdb+Grafana構建監控系統(可能全網最詳)

開篇   一週一篇技術博文又來了,這周我們講點什麼呢?看標題就知道了,那就是利用Metrics,influxdb,Grafana構建一套生產可用的監控系統,至於爲什麼選擇這套方案呢,因爲簡單易實現,並且公司有現成的環境可以使用,至於這三個技

原创 2019-03-15 DOCK - 容器 (容器虛擬化軟件)

DOCK - 容器 (容器虛擬化軟件) 基本概念 虛擬化技術 虛擬化技術是一種將計算機物理資源進行抽象、轉換爲虛擬的計算機資源提供給程序使用的技術。 CPU-運算資源,硬盤-數據存儲資源,網卡-網絡傳輸資源 提供跨平臺特性 提升物理資源利