原创 Redis循環慢接口優化

原慢接口 List<String> keys = new ArrayList<>(Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")); List<

原创 BUG排查

1. IDEA debug 出現 no such instance method: ‘XXX‘ 我的情況:明明對應類下面有方法,但是提示no such instance method: 'XXX'+ 運行的時候報錯 java.lang.No

原创 【待完善】關於DDD系統架構

介紹 DDD(Domain Driver Design):簡稱領域驅動設計

原创 Redis爲什麼這麼快之IO多路複用

情景復現 面試官:Redis爲什麼這麼快? 我:1. 基於內存 2. 高效數據結構 3. 單線程 4. IO多路複用 面試官:那你講講Redis的IO多路複用模型是什麼。 我:哦,嗯,啊,呀...IO多路複用、文件描述符、用戶態,內核態、哦

原创 【入門】反射-對理解動態代理有幫助

前言 反射之所以被稱爲框架的靈魂,主要是因爲它賦予了我們在運行時分析類以及執行類中方法的能力。 通過反射你可以獲取任意一個類的所有屬性和方法,你還可以調用這些方法和屬性。 來自:JavaGuide 示例 public class Mai

原创 MYSQL經典練習題

題目來源:https://blog.csdn.net/flycat296/article/details/63681089 Github地址:https://github.com/bladeXue/sql50 添加測試數據庫信息 # 創

原创 一個關於CountDownLatch的併發需求

需求 A,B,C可併發運行,全部成功纔算成功,一個失敗全員回滾。 思考 使用CountDownLatch,可以保證三個線程結束後,才進行提交成功狀態。但是怎麼才能判斷某個任務失敗了呢? 捕獲子線程異常? await(long timeou

原创 個人讀書推薦

評分,與個人主觀判斷影響較大,如有不同見解還請指教。 Redis設計與實現(🌟🌟) 版本過時,不推薦 Java編程思想(🌟🌟🌟🌟🌟) 大型網站技術架構(🌟🌟🌟🌟) 主要講一些大型系統設計的思路,作爲我的入門書,挺不錯 分佈式服務

原创 HashMap 源碼解毒

PUT 方法解毒: hashcode 高低16進行異或運算,儘量降低哈希衝突的概率 如果數組很小,hashcode的高位就不能被很好利用。 final V putVal(int hash, K key, V value, bool

原创 【面試系列5】JUC

並行與併發 並行:多個機器同時執行 併發:一個機器分時執行 Future接口 定義了操作異步任務執行的一些方法,獲取異步任務執行的結果,取消任務的執行,判斷任務是否被取消,判斷任務執行完畢。 多線程/有返回/異步任務 class MyTh

原创 【面試系列6】Redis

redis redis是什麼? 內存數據庫,一切數據操作都在內存中進行,所以速度很快,常被用來做緩存,消息隊列,分佈式鎖。 具有高效的數據結構,String、list、hash、set、zset,bitmaps、hyperloglog、

原创 Lambda編程常用技巧

遍歷打印List List<Integer> list= Arrays.asList(1,5,6,8,9,32,5,8,7,4,5); list.forEach(System.out::println); 排序 List<Integer>

原创 引用拷貝、淺拷貝、深拷貝

引用拷貝 @Data class Father { String name; Integer age; Son son; Father(String name, Integer age, Son son)

原创 微服務-SpringBoot

springboot宗旨並非是替代spring,而是通過自動化配置簡化spring原有樣板化配置。 只需要將springBoot項目打成Jar然後使用 java -jar運行就可以 spring.application.name

原创 java/spring項目打成jar包供第三方引用方案

分類 單獨工具類 比如StringUtils 注入類工具類 實現 單獨工具類 將項目打jar包 項目結構 開始打包: 在目標項目中pom引用直接使用 注入類工具類 當我們想要利用SpringBoot封裝一套