原创 mysql 的日誌(binlog日誌 和慢日誌)

一、查看mysql數據所佔的大小 select table_name,data_length,index_length,(data_length+index_length) as length,table_rows,concat(

原创 常見的gson的使用方法與fastJson的對比

fastJson 是我們很常用Json轉化使用的依賴,但是fastJson經常報漏洞。在github也有很問題,並沒有得到及時的解決。可能需要fastJson切換成其他json的工具。這裏將fastJson和gson常用一下方法做

原创 NIO中的內存映射和零拷貝 及Netty中的零拷貝

傳統IO 這傳統io讀取數據併發送的流程圖。 這傳統io讀取數據併發送的過程中發生的上下文切換過程,與拷貝的對應過程。 1、DMA模塊從磁盤中讀取文件內容,內核通過sys_read()(或等價的方法)從文件讀取數據,並將其存儲

原创 繼承AbstractAppender實現log4j的自定義標籤,完成集羣日誌集中展示

我們很多機器是集羣部署,如果單獨去每臺機器上面去找日誌會很麻煩。另外很多生產上機器會對部分人員進行限制,但卻需要他們去定位生產上的問題。這裏通過繼承AbstractAppender實現log4j的自定義標籤來發送到同一服務器集中處

原创 @ConditionalOnExpression 控制是否初始bean

我們有時候會遇到一些bean希望通過註冊中心控制是否被初始化,@ConditionalOnExpression可以幫我們辦到。這裏寫過小例子。 1、這個配置是我們上傳文件指定臨時目錄的配置,這裏通過這個查看是否注入成功。在我們想要

原创 kafka消息堆積及分區不均勻的解決方案

我在環境中發現代碼裏面的kafka有所延遲,查看kafka消息發現堆積嚴重,經過檢查發現是kafka消息分區不均勻造成的,消費速度過慢。這裏由自己在虛擬機上演示相關問題,給大家提供相應問題的參考思路。 這篇文章有點遺憾並沒重現分區

原创 布隆過濾器的原理、redis布隆過濾器的安裝和使用

布隆過濾器 本質上布隆過濾器是一種數據結構,可以用來告訴你 “某樣東西一定不存在或者可能存在”。 如果我們平時常用的List,set,map ,tree 來實現同樣的效果,set和map都是採用map的數據結構,時間複雜度是O1

原创 map 的computeIfAbsent,computeIfPresent,compute幾個方法的區別和使用

map是我們經常用到的類,但computeIfAbsent,computeIfPresent,compute由於之前沒有使用過這裏寫幾個列子來。 1、computeIfAbsent public static void ma

原创 avl樹的java實現(平衡二叉樹)

平衡二叉樹定義(AVL): (1)它的左子樹和右子樹的深度之差(平衡因子)的絕對值不超過1。 (2)它的左子樹和右子樹都是一顆平衡二叉樹。 平衡因子: 將二叉樹上節點的左子樹深度減去右子樹深度的值稱爲平衡因子BF。則平衡二叉樹上所

原创 redis常見問題的總結

這篇文章希望對redis整體做一個總結。 一、使用redis的原因 1、redis 的響應速度快,將一些不頻換變動的查詢數據存入redis能夠提供更快的響應速度。 2、關係型數據庫的數據存儲在硬盤,在高併發環境下I/O較高,併發能

原创 kill -9 PID 強制關閉造成 dubbo消費方無法消費

我們在dubbo時,我們項目由dubbo的版本由2.7.0升級到2.7.5。出現了dubbo無效消費的情況,經過檢查發現zookeeper 裏面出現大量相同的註冊信息。dubbo是通過JDK的ShutdownHook來完成優雅停機

原创 Spring Bean的生命週期(生命週期階段和擴展點分開)

Spring 有一些常用擴展點,瞭解Spring Bean的生命週期,能夠對spring宏觀有一定的認識,這裏嘗試答一下。 Spring Bean的生命週期分爲四個階段。這裏將spring Bean的四個階段添加部分常用擴展點便於

原创 excel導入導出(easyexcel實現)

一、爲什麼用easyexcel 我在easyexcel瞭解之後,之所以用easyexcel主要是以下兩點: 1、easyexcel 相對poi來說,在讀取excel表格的時候,可以一行一行讀取poi相對更節約內存。 2、easye

原创 基於Trie樹實現搜索功能

Trie,又稱單詞查找樹或鍵樹,是一種樹形結構。 一組單詞,inn, int, at, age, adv, ant, 我們可以得到下面的Trie。我們目前這個功能主要輸入i就能獲取 到輸入(i,in,inn,int)等同的結果。用

原创 map 容易被忽略的bug小結

Map是我們在工作中經常使用數據結構,但也因爲自己的忽略造成一些bug,這裏做一個小結。 一、lamda表達式中,list組成map但key重複造成IllegalStateException。 public static vo