原创 讀書筆記——Kafka核心技術與實戰(Kafka入門)

一.消息引擎系統ABC 一款消息引擎系統,傳說中的消息中間件/MQ 傳輸的對象是消息;如何進行消息的傳輸是消息引擎設計機制的一部分 傳輸協議: 點對點; 發佈訂閱; 消息從A到B之間之所以需要一個消息引擎——“削峯填谷

原创 讀書筆記——Kafka核心技術與實戰(生產環境的 Kafka 集羣方案需考慮的因素)

既然是集羣,必定涉及到多Kafka節點機器,單臺機器構成的僞集羣只能在日常測試中使用,無法滿足線上實際需求。考慮因素: 操作系統 磁盤 磁盤容量 帶寬 操作系統 IO 模型的使用:Kafka 底層使用 Java 的 sele

原创 Daily-Notes-June

20190603 函數式編程 一切皆是表達式。 命令式編程 是 告訴程序怎麼做 函數式編程 是 告訴程序做什麼 防止又臭又長的代碼:Optional.of(user).map(User::getAddress).map(Add

原创 深入理解 JVM——虛擬機類加載機制

類的生命週期是怎樣的? 加載->驗證->準備->解析->初始化->使用->卸載 (爲了支持 Java 語言的運行時綁定 動態綁定,解析可在初始化後完成。) 什麼是類加載? 把 .class 文件加載到內存,對其校驗,轉換,解析,初

原创 一個簡單的業務重試方案[EventBus+Executor+AOP]

對於系統中出現的異常,有的需要告警出來,譬如參數校驗不通過,寫操作因爲冪等的原因失敗;有的則需要進行業務重試,譬如 rpc 調用超時。如何設計一個優良的重試機制呢?個人認爲應當具備下面幾點。 侵入性小:實現重試的代碼邏輯與現有

原创 Java8的 merge() 騷操作

今天難得早下班,地鐵上聽一個媽媽問她兒子這麼晚纔出校門,孩子委屈極了,說在幫助老師統計全班同學的月考總分。如果是我拿到一個包含學生姓名和學生各科成績list 的list,應該怎樣快速而又簡潔地求出每個學生對應的總成績呢?查了下,原

原创 Some typical SQL in our daily coding.

一. 數據庫的表設計中經常會有使用json存儲的大字段,經常會有模糊匹配大字段的需求,在 mapper.xml 文件中如何進行模糊匹配呢。 <if test="feeType != null and feeType !=''">

原创 深入理解JVM——Java運行時數據區域淺析

JVM在運行時將其內存區域劃分爲不同的區域,各區域承擔的職責和生命週期不盡相同,有的隨着JVM進程的存在(消亡)而存在(消亡),而有些則是線程私有的,生命週期與其所在線程一致。和筆者一塊學習一下吧~ 方法區(Method Are