原创 @ConditionalOnProperty的作用和用法

在spring boot中有時候需要控制配置類是否生效,可以使用@ConditionalOnProperty註解來控制@Configuration是否生效. 通過其兩個屬性name以及havingValue來實現的,其中name用

原创 Guava 開源工具類之 RateLimiter 限流工具類

1. 限流 每個服務器都有訪問上限,當訪問的併發量大過服務器的承受範圍的時候,我們就需要考慮限流的方式 確保系統掛掉。 2.限流算法 常見的限流算法有兩種:漏桶算法和令牌桶算法。 2.1 漏桶算法 算法思路: 將請求先加入到桶裏,

原创 【sql_mode不兼容】incompatible with sql_mode=only_full_group_by

"this is incompatible with sql_mode=only_full_group_by"錯誤解決方案 數據庫升級5.7 導致問題 一、原理層面 這個錯誤發生在mysql 5.7 版本及以上版本

原创 分析分析HashMap

1.HashMap 數據結構 數組加鏈表 數組的結構大概是這樣的 當我們put<k,v>值進去的時候 HashMap會根據key進行一個hash算法去計算一個值與數組長度(n-1)做與&運算 算出index ,這個index類似

原创 LeetCode 移除重複節點

題目 /** * @Author:linjunbo * @Description: * @Date: 2020/3/17 10:13 */ /** * 編寫代碼,移除未排序鏈表中的重複節點。保留最開始出現的節點。 *

原创 LeetCode 字符串輪轉

/** * 字符串輪轉。給定兩個字符串s1和s2,請編寫代碼檢查s2是否爲s1旋轉而成(比如,waterbottle是erbottlewat旋轉後的字符串)。 * * 示例1: * * 輸入:s1 = "waterbo

原创 redis 命令總結

String 命令 incr key 將key 值加一 用作計數器 decr key 將key值 減一 用作計數器 setex key second value 設置key的值並設置時間 以秒爲單位 setnx

原创 LeetCode 零矩陣

/** * 編寫一種算法,若M × N矩陣中某個元素爲0,則將其所在的行與列清零。 * * * * 示例 1: * * 輸入: * [ * [1,1,1], * [1,0,1], * [1,1

原创 LeetCode 字符串壓縮

/** * 字符串壓縮。利用字符重複出現的次數,編寫一種方法,實現基本的字符串壓縮功能。比如,字符串aabcccccaaa會變爲a2b1c5a3。若“壓縮”後的字符串沒有變短,則返回原先的字符串。你可以假設字符串中只包含大小寫英

原创 LeetCode 1.判定字符是否唯一

1. 判定字符是否唯一 實現一個算法,確定一個字符串 s 的所有字符是否全都不同。 示例 1: 輸入: s = "leetcode" 輸出: false 示例 2: 輸入: s = "abc" 輸出: true 限制:

原创 LeetCode URL化

/** * URL化。編寫一種方法,將字符串中的空格全部替換爲%20。假定該字符串尾部有足夠的空間存放新增字符,並且知道字符串的“真實”長度。(注:用Java實現的話,請使用字符數組實現,以便直接在數組上操作。) * * 示

原创 LeetCode 迴文排列

/** * 給定一個字符串,編寫一個函數判定其是否爲某個迴文串的排列之一。 * * 迴文串是指正反兩個方向都一樣的單詞或短語。排列是指字母的重新排列。 * * 迴文串不一定是字典當中的單詞。 * * 來源:力扣(Le

原创 LeetCode 一次編輯

/** * 字符串有三種編輯操作:插入一個字符、刪除一個字符或者替換一個字符。 給定兩個字符串,編寫一個函數判定它們是否只需要一次(或者零次)編輯。 * * * * 示例 1: * * 輸入: * first

原创 LeetCode 旋轉矩陣

/** * 給定一幅由N × N矩陣表示的圖像,其中每個像素的大小爲4字節,編寫一種方法,將圖像旋轉90度。 * * 不佔用額外內存空間能否做到? * * * * 示例 1: * * 給定 matrix =

原创 LeetCode 判定是否互爲字符重排

/** * 給定兩個字符串 s1 和 s2,請編寫一個程序,確定其中一個字符串的字符重新排列後,能否變成另一個字符串。 * * 示例 1: * * 輸入: s1 = "abc", s2 = "bca" * 輸出: tr