原创 Kafka的介紹和使用

  一:介紹 參考:kafka kafka是分佈式消息系統,以從“一個高吞吐量,分佈式的消息系統”改爲“一個分佈式流平臺”。 kafka與傳統消息系統不同在於: kafka是一個分佈式系統,易於向外擴展; 它同時爲發佈和訂閱提供高吞

原创 【拓展篇】Elasticsearch 6.0 一個索引只允許有一個type

【拓展篇】Elasticsearch 6.0 一個索引只允許有一個type 一,單index,單type 未來發布的elasticsearch 6.0.0版本爲保持兼容,仍然會支持單index,多type結構,但是作者已不推薦這麼設置。在

原创 SpringBoot單元測試利器:Mockito

SpringBoot單元測試利器:Mockito  Mockito 是一種 Java Mock 框架,主要是用來做 Mock 測試,它可以模擬任何 Spring 管理的 Bean、模擬方法的返回值、模擬拋出異常等等,在瞭解 Mockito

原创 關於MySQL鎖機制知識普及

MySQL鎖機制知識普及 目錄 前言 一、什麼是鎖 二、鎖的類型 2.1 鎖粒度 2.2 意向鎖 2.3 鎖的兼容性 2.4 行鎖的算法 2.5 自增鎖 三、加鎖分析 3.1 MVCC:快照讀和當前讀 3.2 兩階段鎖 3.3 隔離級別

原创 main線程終止,其他線程還會運行嗎?

main線程終止,其他線程還會運行嗎?  01 理論分析 當你啓動一個Java Application的時候,這個時候系統創建一個進程,分配各項資源,然後這個進程啓動了Main線程. 我們一般把Main線程說成主線程,因爲其他線程一般是

原创 TOGAF認證考試總結[自學備考]

  做諮詢項目,感覺TOGAF架構對於ADM各階段以及理清業務與IT的關係都很有指導性,所以決定考一個認證,一方面加深理解,另一方面弄個證書在答標等場合也用得上。 2016年1月24日,星期天,完成了考試,part 1: 36/40(90

原创 利用堆實現排序和解決topk問題之Java實現

利用堆實現排序和解決topk問題之Java實現   如下圖,將一個數組轉化堆,有如下性質 所有父節點的值小於或等於兩個子節點的值(最小堆) 如果有左子樹,那麼左子樹的位置是2i+1,如果有右子樹,右子樹的位置是2i+2 只有數組

原创 mysql:insert ignore、insert和replace區別

mysql:insert ignore、insert和replace區別  insert    報錯    插入    insert into names(name, age) values(“小明”, 23); insert igno

原创 @Resource和@Autowired區別比較與示例

@Resource和@Autowired都是做bean的注入時使用,其實@Resource並不是Spring的註解,它的包是javax.annotation.Resource,需要導入,但是Spring支持該註解的注入。 1、共同點 兩者

原创 LeetCode 題解 | 198.打家劫舍

LeetCode 題解 | 198.打家劫舍  198.打家劫舍 打家劫舍 - 力扣(LeetCode)​leetcode-cn.com 題目描述 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素

原创 maven的deploy

昨天maven的deploy任務需要只選擇單個模塊並且把它依賴的模塊一起打包,第一時間便想到了-pl參數,然後就開始處理,但是因爲之前只看了一下命令的介紹,竟然花了近半小時才完全跑通,故記錄此文。 假設現有項目結構如下 dailylog-

原创 [LeetCode] LFU Cache 最近最不常用頁面置換緩存器

[LeetCode] LFU Cache 最近最不常用頁面置換緩存器   Design and implement a data structure for Least Frequently Used (LFU) cache. It sh

原创 LeetCode刷題之BFS和DFS

LeetCode刷題之BFS和DFS 廣度優先搜索(BFS) 主要用於樹的層序遍歷或圖的最短路徑尋找,主要使用隊列queue來完成。 ①樹的層序遍歷:使用隊列保存未被檢測的結點,結點按照寬度優先的次序被訪問和進出隊。 ②有向無環圖的最短路

原创 spotbugs官方文檔的bug描述概述

spotbugs官方文檔的bug描述概述   spotbugs已經取代和繼承了曾今的findbugs,已經按個人理解對bug的類別進行排序,重要的在前,不重要的在後。bug描述裏的廢話被我刪了。 文檔參考:http://spotbugs.

原创 從源碼角度理解Java設計模式——門面模式

從源碼角度理解Java設計模式——門面模式  一、門面模式介紹 門面模式定義:也叫外觀模式,定義了一個訪問子系統的接口,除了這個接口以外,不允許其他訪問子系統的行爲發生。 適用場景:子系統很複雜時,增加一個接口供外部訪問。 優點:簡化層級