原创 超詳細的Guava RateLimiter限流原理解析

超詳細的Guava RateLimiter限流原理解析    限流是保護高併發系統的三把利器之一,另外兩個是緩存和降級。限流在很多場景中用來限制併發和請求量,比如說秒殺搶購,保護自身系統和下游系統不被巨型流量沖垮等。  限流的目的是通過對

原创 讀寫鎖以及手寫實現

  讀寫鎖 Java內置了讀寫鎖工具類,方便開發人員針對“讀多寫少”的場景提升加鎖的性能。 爲什麼需要讀寫鎖? synchronized和ReentrantLock都屬於排他鎖,存在明顯的性能問題:讀讀互斥。 當某一個線程獲取鎖時,其他線

原创 Java POI導出excel實現

Java POI導出excel實現   Java使用poi組件導出excel報表,能導出excel報表的還可以使用jxl組件,但jxl想對於poi功能有限,jxl應該不能載excel插入浮動層圖片,poi能很好的實現輸出excel

原创 @Autowired註解與@resource註解的區別(十分詳細)

@Autowired註解與@resource註解的區別(十分詳細) 背景: 今天下班路上看到一個大貨車,於是想到了裝配,然後腦海裏跳出了一個註解@Autowired(自動裝配),於是又想到最近工作項目用的都是@Resource註解來進行裝

原创 深入理解spring註解之@Bean註解

深入理解spring註解之@Bean註解  本文主要從以下幾個方面來學習一下spring的註解@Bean: 基於xml方式bean使用回顧 註解@Bean詳細使用說明 註解@Bean的源碼解析   1,基於xml方式bea

原创 乾貨 | Elasticsearch Nested類型深入詳解

  2019 Java 開發者跳槽指南.pdf (吐血整理)….>>> 0、概要 在Elasticsearch實戰場景中,我們或多或少會遇到嵌套文檔的組合形式,反映在ES中稱爲父子文檔。 父子文檔的實現,至少包含以下兩種方式: 1)父子

原创 Shell中>/dev/null 2>&1 詳解

Shell中>/dev/null 2>&1 詳解    hell中可能經常能看到:>/dev/null 2>&1 命令的結果可以通過%>的形式來定義輸出 分解這個組合:“>/dev/null 2>&1” 爲五部分。 1:> 代表重定向到哪

原创 基於netty搭建websocket,實現消息的主動推送

代碼下載地址:https://github.com/kkman2008/websocketWithNetty   基於netty搭建websocket,實現消息的主動推送 netty是由jboss提供的一款開源框架,常用於搭建RPC

原创 Metaspace 之一:Metaspace整體介紹(永久代被替換原因、元空間特點、元空間內存查看分析方法)

Metaspace 之一:Metaspace整體介紹(永久代被替換原因、元空間特點、元空間內存查看分析方法) 回顧 根據JVM內存區域的劃分,簡單的畫了下方的這個示意圖。區域主要分爲兩大塊,一塊是堆區(Heap),我們所New出的對象都會

原创 ES與MySQL概念對比

ES與MySQL概念對比  通過概念對比,能更好的理解ES的一些概念和術語。 MySQL Elasticsearch Table Index Row Document Column Field Schema Mapping SQL DSL

原创 MYSQL 執行計劃分析三看, EXPLAIN,PROFILING,OPTIMIZER_TRACE

MYSQL 執行計劃分析三看, EXPLAIN,PROFILING,OPTIMIZER_TRACE  step 1  使用explain 查看執行計劃, 5.6後可以加參數 explain format=json xxx 輸出json格式

原创 UnitTest, Mock整數類型返回NPE(null)報錯

在Mock整數數據的時候,如果是使用any()則報如下錯誤。需要使用anyInt()。報錯如下,具體分析參考下文: java.lang.NullPointerException at xxx.WtfTest.testCaseNPE(W

原创 HTTP 三次握手,四次揮手(爲什麼是三次握手四次揮手)

HTTP 三次握手,四次揮手(爲什麼是三次握手四次揮手)  問題帶入 --- 個人閱讀別人的筆記自己的理解 -- 具體底層有待以後提升後補充完成 1.HTTP請求 爲什麼是三次握手四次揮手? 2.爲什麼是三次握手不是兩次握手? TCP 報

原创 爲什麼面試都喜歡問HashMap

爲什麼面試都喜歡問HashMap 現在Java面試,好像大家都喜歡問HashMap的實現原理。有的人可能會問,HashMap有什麼可聊的呢,網上隨便找一篇關於HashMap博文,看一下不就可以了嘛?能考察出什麼來呢?我在我們公司招聘過程中

原创 數據結構 Hash表(哈希表)

  參考鏈接:數據結構(嚴蔚敏) 一、什麼是Hash表 要想知道什麼是哈希表,那得先了解哈希函數 哈希函數 對比之前博客討論的二叉排序樹 二叉平衡樹 紅黑樹 B B+樹,它們的查找都是先從根節點進行查找,從節點取出數據或索引與查找值進行比