原创 讀書筆記之-基業長青

《基業長青》有個核心問題:爲什麼像寶潔,3M這樣公司能夠生存長達一個世紀依然枝繁葉茂? 公司必須有着超出利潤之外的追求。這就是公司的核心價值觀和企業文化之所在。超大組織必須有一個溝通對話的基礎,這也是宗教的來源。 公司的文化必須能夠傳承。這

原创 讀書筆記之-《高性能MySQL》

數據庫相關的知識,看了《高性能MySQL》和《數據庫系統實現》兩本。兩本書綜合看效果更好。 《高性能MySQL》從使用的角度入手,《數據庫系統實現》從原理的角度入手。以前學習數據庫相關的知識時有個執念,一定要弄明白它是怎麼實現的,就直接買了

原创 代碼

import lombok.Data; import lombok.ToString; import org.roaringbitmap.RoaringBitmap; import java.util.*; public class R

原创 讀書筆記之-《性能之巔 洞悉系統-企業與雲計算》

性能優化是我們開發中經常要做的事情。通常我們也就在代碼層面做一下優化,抑或在流程層面進行改造,基本很少進行架構層面的優化。架構一般都是推翻重構的。 《性能之巔》這本書是二刷。第一次看這本書,留下的唯一印象就是3.3Hz CPU寄存器延時的闡

原创 《數據密集型應用》讀書筆記

花了大概半個月的時間,將《設計數據密集型應用》看了一遍,不愧是豆瓣10.0的好書。 作者在一本書裏面,講解了MySQL, Redis, Solr, Mongodb, Elasticsearch, Kafka, Hive, Hbase, Sp

原创 讀書筆記之-《數據化管理:洞悉零售及電子商務運營》

《數據化管理:洞悉零售及電子商務運營》 看這本書的出發點是希望瞭解運營如何使用數據。在上家公司,做了一些簡單的數據分析工作,覺得很有意思,大部分時候想出出符合數據的結論也很痛苦。 隨着互聯網進入存量市場,精細化運營越來越重要。隨着公司累計數

原创 ES學習筆記之-Translog實現機制的理解

ES作爲一個NoSQL,典型的應用場景就是存儲數據。即用戶可以通過api添加數據到es中。由於Lucene內部的實現, 每次添加的數據並不是實時落盤的。而是在內存中維護着索引信息,直到緩衝區滿了或者顯式的commit, 數據纔會落盤,形成一

原创 ES學習筆記之health api的實現

使用health api可以查看es集羣的健康度。 health api的用法如下: curl 'http://localhost:9200/_cluster/health' health api的返回值中有一個核心的字段status,

原创 ES學習筆記之--delete api的實現流程

ES的delete api使用非常簡單。 curl -XDELETE 'http://localhost:9200/index/type/doc_id' 前面學習了get api的主要流程,這裏探索一下delete api的實現原理。 優先

原创 ES學習筆記之-ClusterState的學習

前面研究過ES的get api的整體思路,作爲編寫ES插件時的借鑑。當時的重點在與理解整體流程,主要是shardOperation()的方法內部的調用邏輯,就弱化了shards()方法。實際上shards()方法在理解ES的結構層面,作用更

原创 JAVA基礎學習之-AQS的實現原理分析

AbstractQueuedSynchronizer是JUC的核心框架,其設計非常精妙。 使用了Java的模板方法模式。 首先試圖還原一下其使用場景:對於排他鎖,在同一時刻,N個線程只有1個線程能獲取到鎖;其他沒有獲取到鎖的線程被掛起放置在

原创 JAVA基礎學習之-ThreadPoolExecutor的實現原理

池技術是性能優化的重要手段:連接池,線程池已經是開發中的標配了。面試中這個知識點也是高頻問題。抽空學習了Java的ThreadPoolExecutor, 把學習的思路記錄一下。 由於線程的創建和銷燬都是系統層面的操作,涉及到系統資源的佔用和

原创 Java基礎學習之-多線程學習知識點的學習

Java語言從設計之初就把多線程作爲語言的核心, 至少從以下幾點可以看出: 1. Object對象的wait和notify機制。 2. Thread類在lang包中。 3. synchronized volatile關鍵字。 雖然多線程是J

原创 Java基礎梳理之-IO操作

回想最開始學習Java IO相關的操作時, 被各種Reader/Stream繞暈。 現在再回頭梳理這一塊的知識點,感覺清晰了很多。 Java作爲編程語言,大部分東西都是從系統層面帶來的, 所以學習的知識點雖然在Java, 但是背後的答案卻在

原创 ES學習筆記之--ES的集羣是如何組建起來的

ES作爲一個分佈式系統,需要多個節點協同,來管理集羣,處理用戶請求。那麼很自然有個問題,ES的集羣是如何組建起來的? 所謂集羣,就是多臺計算機一起協同工作。 既然是協同工作,那麼就必須步調一致,步調一致才能得解放。需要有領導這個角色來協調資