原创 算法-左旋轉字符串

1. 左旋轉字符串 對於一個給定的字符序列 S,把其循環左移 N 位後的序列輸出。例如字符序列 S=”abcdef”,輸出循環左移3位後的結果,即“defabc” 2. 解法 字符串 S 爲abcdef,n=3,設X=abc,

原创 SpringBoot 自動事務管理原理

文章目錄Spring 自動事務管理的實現1. 事務註解 Bean 的創建2. 事務執行的流程2.1 事務攔截器攔截方法的觸發2.2 事務執行的詳細流程2.2.1 獲取事務屬性2.2.2 獲取事務管理器2.2.3 開啓事務2.2.4

原创 算法-每日溫度

1. 溫度升高天數 根據每日 氣溫列表,重新生成一個列表,對應位置的數字是需要再等待多久溫度纔會升高超過該日的天數。如果之後都不會升高,在該位置用 0 來代替 例如給定列表 temperatures = [73, 74, 75,

原创 Web 細節彙總(2)

文章目錄1. AOP 的實現方式1.1 動態代理1.2 靜態代理2. @Value 注入 Map 類型數據3. Slf4j 日誌框架打印堆棧 1. AOP 的實現方式 AOP:面向切面編程,採用橫向抽取的機制取代了傳統的縱向繼承體

原创 算法-二叉樹兩個葉節點最大距離

1. 二叉樹中兩個子節點相距最大距離 獲取二叉樹中兩個子節點相距最大距離,其實可轉換爲求二叉樹兩子樹高度之和最大的問題 /** * Note:根節點兩子樹高度之和並不一定等於兩個子節點相距最大距離,存在相距最遠的兩

原创 Spring WebFlux 源碼分析(1)-服務啓動流程

文章目錄1. WebFlux 介紹1.1 簡述1.2 Reactor中的Mono和Flux1.3 兩種開發模式2. WebFlux 服務啓動流程 1. WebFlux 介紹 1.1 簡述 Spring WebFlux是Spring

原创 Linux 命令中的 & 符號

文章目錄1. & 符號的作用2. 後臺進程的管理 1. & 符號的作用 Linux 終端命令的末尾加上一個 & 符號表示將這個任務放到後臺去執行,例如以下命令表示將複製任務放到後臺執行: cp -R original/dir/ b

原创 Java 細節彙總(3)

文章目錄1. 使用 Long.parse() 時報錯2. YYYY-MM-dd 造成的日期錯誤 1. 使用 Long.parse() 時報錯 項目重構,測試報出錯誤 For input string: "100.00"。因爲日誌

原创 MySQL 使用須知

文章目錄1. 索引的操作2. 查詢不走索引的原因3. 查詢優化 1. 索引的操作 查看錶的字段結構 desc user; 查看建表語句,包括表上的索引 SHOW CREATE TABLE user \G; 在表字段上創建索

原创 Spring WebFlux 源碼分析(2)-請求處理流程

文章目錄前言1. 註解模式請求處理2. 函數式請求處理2.1 使用示例2.2 請求處理分析2.2.1 請求處理分發類 DispatcherHandler2.2.2 RouterFunction 路由匹配 HandlerFuncti

原创 MySQL explain 使用

文章目錄1. explain 的作用2. explain 輸出詳解2.1 優先級 - id2.2 查詢類型 - select_type2.3 查詢的表名 - table2.4 查詢的範圍 - type2.5 可使用的索引- pos

原创 Spring 多實例注入

文章目錄1. Spring 多實例注入的應用場景2. Spring 多實例注入的使用 1. Spring 多實例注入的應用場景 Spring 容器中保存的 bean 默認是單例的,通常來說這樣做可以降低 bean 對象創建的頻率,

原创 JVM 命令指北(1)-參數大全

文章目錄1. JVM 的啓動模式1.1 -server 與 -client 參數1.2 執行模式1.2.1 解釋執行與編譯執行1.2.2 參數 -Xint、-Xcomp、-Xmixed2. JVM 主要參數2.1 -X 參數2.2

原创 Spring WebMVC 源碼分析(2)- 從註解@RequestBody開始

文章目錄1. 註解@RequestBody 的作用2. Http 請求的處理流程2.1 HandlerAdapter 的繼承結構2.2 RequestMappingHandlerAdapter 的處理過程3. SpringMVC

原创 JVM 命令指北(2)-jps 命令

文章目錄1. jps 命令介紹jps 命令原理2. jps 參數功能3. jps 注意事項 1. jps 命令介紹 jps位於 JDK (mac 終端使用命令/usr/libexec/java_home -V可查看 JDK 安裝目