原创 Java之AQS代碼原理解析

        AQS(AbstractQueuedSynchronizer)是各種鎖實現的基礎,提供了對資源(state字段)的獲取與阻塞等待,阻塞的線程會被放進一個先進先出(FIFO)的同步隊列裏。各種鎖是AQS的子類,子類必須實現一

原创 Class.forName與classLoader.loadClass 區別 及 打破雙親委派加載機制的方法

文章開始,先把問題拋出來吧,這樣看的時候心中就一直會有這樣的疑問: 通過Class.forName與通過classLoader.loadClass 獲取到Class有什麼區別? Class.forName與classLoader.load

原创 spring boot配置log4j讀不到不同環境的日誌路徑配置

工作中要起一個新項目,要用springboot起,配置完不通路徑的application-{dev/test/prod}.properties後,要配置log4j,但是使用junit測試項目搭建是否成功時,log4j總是找不到路徑,會在項

原创 算法題:十億個亂序不重複的數字,輸出沒有出現過的數字

十億個亂序不重複的數字,輸出沒有出現過的數字,例如 {0,1,2,3,5,6,7,8,9,10} 中4沒有。 這是一個阿里算法題,當時腦子沒有想到bitmap,實際中沒用到的真的是想到機率小,給自己敲響警鐘,這道題不難。bitmap處理幾

原创 spring boot配置log4j讀不到不通環境的日誌路徑配置

工作中要起一個新項目,要用springboot起,配置完不通路徑的application-{dev/test/prod}.properties後,要配置log4j,但是使用junit測試項目搭建是否成功時,log4j總是找不到路徑,會在項

原创 股票算法問題

很多讀者抱怨股票系列問題奇技淫巧太多,如果面試真的遇到這類問題,基本不會想到那些巧妙的辦法,怎麼辦?所以本文拒絕奇技淫巧,而是穩紮穩打,只用一種通用方法解決所用問題,以不變應萬變。 這篇文章用狀態機的技巧來解決,可以全部提交通過。不要覺得

原创 LeetCode NO.110 題解(遞歸法)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tree

原创 java String kmp算法 LeetCode 28題解 字符串匹配

  做到LeetCode第28題,看完題幹就知道是考kmp算法,愣是想不起來kmp算法怎麼寫了,把四年前的知識還給老師了,複習了複習,碼出來代碼以後留着複習用。 原理:nexts數組是kmp算法核心,每一位的值用來代表前面有多少位是重複的