原创 [ElasticSearch]入門篇

ES是個什麼東西? Elasticsearch 是一個分佈式可擴展的實時搜索和分析引擎,一個建立在全文搜索引擎 Apache Lucene(TM) 基礎上的搜索引擎.當然 Elasticsearch 並不僅僅是 Lucene 那

原创 JDK1.8新特性之Optional類

前言:最近做了一個需求,其中從其他微服務中獲取了一個含有多個且多層實體的對象。而我則需要獲取這個複雜對象裏面的各個字段,如果不做校驗很可能會出現空指針。所以代碼中出現了很多if else來判斷非null情況,而且還容易漏掉其中一個,造成空

原创 Leetcode題解中級篇之鏈表(7)兩數相加

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/31/linked-list/82/ 題目描述: 給出兩個 非空 的鏈表用來

原创 劍指offer-Java實現:題目1、二維數組中的查找

  題目描述 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。   思路:由於題目說從左到右,

原创 Leetcode題解中級篇之數組和字符串(8)奇偶鏈表

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/31/linked-list/83/ 題目描述: 奇偶鏈表 給定一個單鏈表,

原创 Leetcode題解中級篇之樹和圖(10)中序遍歷二叉樹

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/32/trees-and-graphs/85/ 題目描述: 給定一個二叉樹,

原创 【Java集合框架】——HashMap源碼分析

HashMap源碼分析(jdk1.8) HashMap是一個數組+鏈表結構的存儲結構。底層的數組作爲哈希桶,通過計算存入數據的key值得哈希值 將數據存放到各個哈希桶中,當出現哈希值相同的情況,會用鏈表進行存儲,鏈表中每個節點都是

原创 【Java集合框架】——ConcurrentHashMap源碼分析(jdk1.8)

ConcurrentHashMap 和 HashMap 思路是差不多的,但是因爲它支持併發操作,所以要複雜一些。 整個 ConcurrentHashMap 由一個個 Segment 組成,Segment 代表”部分“或”一段“的意思,所以

原创 深入理解JVM學習筆記

Java虛擬機 - 幕布 Java虛擬機一、Java內存區域與內存溢出異常(OOM)1.運行時區域1.1程序計數器是一塊較小的內存空間,可以看作是當前線程所執行的字節碼的行號指示器.由於Java虛擬機的多線程是通過線程輪流切換並分配處

原创 Leetcode題解中級篇之鏈表(9)相交鏈表

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/31/linked-list/84/ 題目描述: 編寫一個程序,找到兩個單鏈

原创 Leetcode題解中級篇之鏈表(10)中序遍歷二叉樹

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/32/trees-and-graphs/85/ 題目描述: 給定一個二叉樹,

原创 Leetcode題解中級篇之數組和字符串(8)遞增的三元子序列

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/31/linked-list/83/ 題目描述: 奇偶鏈表 給定一個單鏈表,

原创 Leetcode題解中級篇之數組和字符串(7)遞增的三元子序列

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/31/linked-list/82/ 題目描述: 給出兩個 非空 的鏈表用來

原创 【面試題】 模擬多線程售票系統

public class Tiket{ private int tiketNumber; public int getTiketNumber() { return tiketNumber; } public void s

原创 Semaphore 的介紹與實現生產者消費者模式案例

一、介紹     Semaphore是一種基於計數的信號量。它可以設定一個閾值,基於此,多個線程競爭獲取許可信號,做完自己的申請後歸還,超過閾值後,線程申請許可信號將會被阻塞。Semaphore可以用來構建一些對象池,資源池之類的,比如數