原创 使用IDEA遇到的坑

idea201803版本:   1.maven打包web工程,部署到tomcat,輸出目錄自動重置問題 正常步驟新建一個部署配置:   exploded方式部署,目標是部署到tomcat的webapps目錄下, 修改輸出目錄到weba

原创 redis原理(2)全面瞭解

redis單點吞吐量 單點TPS達到8萬/秒,QPS達到10萬/秒。 redis的5中存儲類型 string、list、set、map(hash)、stored-set redis的string類型 能表達3中類型:字符串、整數和浮點數。

原创 Linux系統中java線上問題常用排查命令

查詢java線程佔用的資源 1、ps -aux | grep java或者 jps 命令,找出java進程的pid 1564。   2、top -H -p 1564 查看進程下的線程資源佔用情況。   3、jstack 1564 查看進

原创 跳躍表Skip List的原理和實現

二分查找和AVL樹查找 二分查找要求元素可以隨機訪問,所以決定了需要把元素存儲在連續內存。這樣查找確實很快,但是插入和刪除元素的時候,爲了保證元素的有序性,就需要大量的移動元素了。 如果需要的是一個能夠進行二分查找,又能快速添加和刪除元素

原创 redis原理(1)常見面試問題

1 什麼是redis redis是nosql(也是個巨大的map) 單線程,但是可處理1秒10w的併發(數據都在內存中) 使用java對redis進行操作類似jdbc接口標準對mysql,有各類實現他的實現類,我們常用的是druid 其中

原创 一致性哈希算法-應用

一致性Hash負載均衡算法實現 1. Hash函數 要將對象和服務器映射到Hash環中,需要計算出來哈希碼,這就需要有Hash函數來完成,也就是關係到使用的哈希算法。使用一個好的哈希算法是很重要的,爲什麼這麼說呢,拿我們上面提到的緩存服務

原创 分佈式系統中一致性哈希算法-簡介

分佈式系統中一致性哈希算法 業務場景 近年來B2C、O2O等商業概念的提出和移動端的發展,使得分佈式系統流行了起來。分佈式系統相對於單系統,解決了流量大、系統高可用和高容錯等問題。功能強大也意味着實現起來需要更多技術的支持。例如系統訪問層

原创 jstack定位線程堆棧信息【案例彙總】

1.CPU利用率過高,代碼定位   找到CPU利用率持續比較高的進程, 命令:top   找到CPU使用率較高的線程ID(TID): 命令:ps p 16480 -L -o pcpu,pid,tid,time,tname,cmd 此處爲

原创 理解BitMap算法的原理及應用

BitMap簡介: 什麼是 BitMap 算法 所謂 BitMap 就是用一個 bit 位來標記某個元素對應的 value,而 key 即是這個元素。由於採用bit爲單位來存儲數據,因此在可以大大的節省存儲空間。 算法思想 32位機器上,

原创 ShardingSphere、Mycat原理

1.ShardingSphere sharding-jdbc後續發展爲Sharding-Sphere,包含sharding-jdbc、Sharding-Proxy、Sharding-Sidecar。 1)概述:ShardingS

原创 Netty 原理

版本說明 Netty3(3.x)版本是比較舊的版本。 Netty4(4.x)版本是當前官方推薦的,目前一直在維護中。跟3.x版本相比變化比較大,特別是API。 Netty5(5.x)是被捨棄的版本,官方不推薦使用! Netty5捨棄的官方

原创 java成神之路閱讀筆記——常用工具

java成神之路閱讀筆記: to be top javaer:https://hollischuang.github.io/toBeTopJavaer/#/menu   常用工具: 工具 git & svn maven & grad

原创 Zookeeper:一致性協議:Zab協議(一)

什麼是Zab協議 Zab 協議的作用 Zab 協議原理 Zab 協議核心 Zab 協議內容 原子廣播 崩潰恢復 如何保證數據一致性 Zab 協議如何數據同步 如何處理需要丟棄的 Proposal Zab 協議實現原理 選主過程   什麼

原创 Zookeeper:一致性協議之 ZAB(二)

1. 什麼是 ZAB 協議? ZAB 協議介紹 ZAB 協議全稱:Zookeeper Atomic Broadcast(Zookeeper 原子廣播協議)。 Zookeeper 是一個爲分佈式應用提供高效且可靠的分佈式協調服務。在解

原创 數據庫中ACID、CAP、BASE

   關係型數據庫中遵循的ACID規則 事務在英文中是transaction,和現實世界中的交易很類似,它有如下四個特性: 1、A (Atomicity) 原子性 原子性很容易理解,也就是說事務裏的所有操作要麼全部做完,要