原创 【Netty簡單入門】-爲什麼Netty人見人愛?

前言 最近在看ES源碼,Netty貫穿在整個ES之中,想要看懂和更好的理解ES源碼,必須首先對Netty有一定的認識和了解,所以簡單總結了Netty的一些基本架構和認知, 後續再總結更加深入的Netty知識。 什麼是Netty,爲

原创 【Java集合源碼分析】關於Java集合你需要知道的是什麼

前言 Java集合估計是我們開發過程中,用的最多的API了,它位於java.util包下,同時支持多線程的集合類位於java.util.concurrent包下。 我們都知道各種數據結構最底層的組成都是數組或者鏈表,其實各種集合

原创 【Elasticsearch】優秀實踐-Elasticsearch寫入調優

基本優化手段 Elasticsearch默認的設置和參數配置下,是綜合考慮了數據的可靠性、搜索實時性、寫入速度等因素。但在某些場景中,業務對數據的可靠性和搜索實時性要求並不高,反而對寫入速度要求高,可以通過調整一些策略,優化寫入速

原创 【Elasticsearch源碼】查詢源碼分析(一)

1 前言 前面分析過ES的寫入流程源碼,詳情見【Elasticsearch源碼】寫入源碼分析。 Elasticsearch(ES)的查詢接口具有分佈式的數據檢索、聚合分析能力,數據檢索能力用於支持全文檢索、日誌分析等場景,如G

原创 【Elasticsearch】優秀實踐-ES+Hbase的實現

前言 因爲之前在項目上,需要用到ES+Hbase方案,最後經過各種測試和驗證,最終項目完成上線。因爲在實際的過程遇到不少的問題,和理論還是有一定的差距。 紙上得來終覺淺,絕知此事要躬行。----古人誠不欺我 基本原理 很簡單,

原创 【Elasticsearch】優秀實踐-你的ES怎麼查的慢了?

前言 經常會有人吐槽,Elasticsearch爲什麼查着查着突然就慢了? 筆者總結了常見的一些導致查詢慢的場景,供大家排查。 go go go Elasticsearch查詢慢問題排查思路 Elasticsearch的查詢

原创 【Java集合】LinkedList源碼解析

LinkedList簡介 LinkedList是基於雙向循環鏈表實現的,除了可以當做鏈表來操作外,它還可以當做棧、隊列和雙端隊列來使用。當然同時也具備了鏈表的特性:插入和刪除元素效率高。 LinkedList同樣也是非線程安全的,

原创 【Elasticsearch源碼】CCR源碼分析(二)

接上一篇:【Elasticsearch源碼】CCR源碼分析(一)。 sendShardChangesRequest方法最終進入到ShardChangesAction.TransportAction#shardOperation

原创 【Elasticsearch】初篇-帶你認識Elasticsearch

從2010年開始,Elasticsearch已經經歷了近10年的發展,特別是近幾年Elasticsearch愈發火熱,成了各個大廠必不可少的搜索引擎,加上其成熟的Elastic Stack生態體系,發展迅猛。 Elasticsea

原创 【Elasticsearch源碼】寫入源碼分析(一)

1 前言 Elasticsearch(ES)是一個基於Lucene的分佈式存儲和搜索分析系統,本文希望從源碼的角度分析ES在保證數據的可靠性、實時性和一致性前提下,其寫入的具體流程。 寫入也是整個ES系統裏面,最主要的流程之一,

原创 【Java小知識】StringBuilder爲什麼線程不安全?

前言 我們都知道,String是不可變的,所以在字符串操作比較頻繁的時候使用StringBuilder和StringBuffer運行效率更高。 StringBuilder和StringBuffer的區別在於StringBuilde

原创 【Elasticsearch源碼】寫入源碼分析(三)

接上一篇:【Elasticsearch源碼】寫入源碼分析(二)。 3.2.5 寫主分片節點流程 代碼入口:TransportReplicationAction.PrimaryOperationTransportHandler#

原创 【初篇】隨想

一直以來我都不太習慣去記錄一下東西(自持記憶好,哈哈哈) 但漸漸的發現,及時的總結和輸出,對整個技術體系和個人成長更有方向性和目標性 所以打算開始輸出一些平時學習和工作的總結 希望不僅可以進一步鞏固自我 也可以幫助到一些需要的人

原创 【Java小知識】try-catch-finally執行順序

前言 try-catch-finally的執行順序,你知唔知,如果包含return呢? try-catch-finally執行順序 正常的順序我們都清楚,先執行try裏面的語句,如果跑出異常再執行catch裏面的語句,最終執行fi

原创 【Java小知識】final關鍵字的理解

面試的過程中,可能會被問到一些小問題,如:請說說你對final關鍵字的理解?從細節處經常能反應一個人的基礎和對問題是否有刨根究底的精神。 final關鍵字的作用 衆所周知: 被final修飾的類不可以被繼承; 被final修飾的