原创 LeetCode題目46. 全排列

LeetCode題目46. 全排列 給定一個沒有重複數字的序列,返回其所有可能的全排列。 示例1 輸入: [1,2,3] 輸出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3

原创 LeetCode題目4. 尋找兩個有序數組的中位數

LeetCode題目4. 尋找兩個有序數組的中位數 給定兩個大小爲 m 和 n 的有序數組 nums1 和 nums2。 請你找出這兩個有序數組的中位數,並且要求算法的時間複雜度爲 O(log(m + n))。 你可以假設 num

原创 劍指Offer題目:序列化二叉樹

劍指Offer題目:序列化二叉樹 題目描述 請實現兩個函數,分別用來序列化和反序列化二叉樹 二叉樹的序列化是指:把一棵二叉樹按照某種遍歷方式的結果以某種格式保存爲字符串,從而使得內存中建立起來的二叉樹可以持久保存。序列化可以基於先

原创 源碼分析BlockingQueue實現(jdk1.8)

文章目錄BlockingQueue實現1:ArrayBlockingQueue屬性及構造函數puttake實現2:LinkedBlockingQueue屬性及構造函數puttake實現3:SynchronousQueue屬性及構造

原创 Java網絡編程(六):I/O 多路複用入門——select/poll/epoll

爲什麼要 I/O 多路複用當需要從一個叫 r_fd 的描述符不停地讀取數據,並把讀到的數據寫入一個叫 w_fd 的描述符時,我們可以用循環使用阻塞 I/O : while((n = read(r_fd, buf, BUF_SIZ

原创 劍指Offer題目:正則表達式匹配

劍指Offer題目:正則表達式匹配 題目描述 請實現一個函數用來匹配包括'.'和'*'的正則表達式。模式中的字符'.'表示任意一個字符,而'*'表示它前面的字符可以出現任意次(包含0次)。 在本題中,匹配是指字符串的所有字符匹配整

原创 源碼分析ConcurrentHashMap(jdk1.7 和jdk1.8)

文章目錄JDK1.7 ConcurrentHashMap圖示結構初始化put過程rehash過程get過程remove過程併發問題分析JDK1.8 ConcurrentHashMap圖示結構初始化put過程初始化數組擴容數據遷移g

原创 LeetCode題目72. 編輯距離

LeetCode題目72. 編輯距離 給定兩個單詞 word1 和 word2,計算出將 word1 轉換成 word2 所使用的最少操作數 。 你可以對一個單詞進行如下三種操作: 插入一個字符 刪除一個字符 替換一個字符 示例

原创 Java網絡編程(三):JAVA NIO 構建I/O多路複用的請求模型

JAVA NIO 一步步構建I/O多路複用的請求模型轉自:https://github.com/jasonGeng88...

原创 Java集合框架源碼學習筆記

對集合類的分析從以下幾點入手 1 底層數據結構 2 增刪改查方式 3 初始容量,擴容方式,擴容時機。 4 線程安全與否 5 是否允許空,是否允許重複,是否有序 ArrayList 數據結構:動態數組 初始容量: 使用無參構造

原创 Map源碼分析:TreeMap( jdk 1.8 )和紅黑樹

原文出處: SylvanasSun's Blog 紅黑樹:https://github.com/CarpenterLee/JCFInternals/blob/master/markdown/5-TreeSet%20and%20Tr

原创 劍指Offer題目:對稱的二叉樹

劍指Offer題目:對稱的二叉樹 題目描述 請實現一個函數,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其爲對稱的。 解題思路 思路: (1) 遞歸。根結點的左右子結點值相同,同時左子結點的

原创 Spring源碼分析總結

文章目錄IOCApplication的繼承關係容器的啓動過程AOPSpring對AOP的支持基於xml配置的AOP模式基於註解驅動的AOP模式 IOC Application的繼承關係 ApplicationContext的實

原创 LeetCode題目47. 全排列II

LeetCode題目47. 全排列II 給定一個可包含重複數字的序列,返回所有不重複的全排列。 示例1 輸入: [1,1,2] 輸出: [ [1,1,2], [1,2,1], [2,1,1] ] 完整代碼 class Sol

原创 源碼分析AbstractQuenedSynchronized(一)

源碼分析AbstractQuenedSynchronized(二) 源碼分析AbstractQuenedSynchronized(三) 文章目錄AbstractQuenedSynchronized數據結構模板方法Reentrant