原创 Zookeeper 筆記

1. 什麼是zookeeper ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。 管理系統中獨特的/統一的信息 集羣狀態監控和通

原创 Springcloud EurekaClient 底層實現(一)

最近接手一個springcloud項目,需要優雅地註銷服務後再重啓,這樣就不會因爲ribbon負載均衡到重啓的服務上從而丟失請求,那麼我們先來研究下怎麼手動註銷服務。 以下所有代碼都是基於springboot2.0.9 RELEA

原创 springboot集成Websocket(含源碼)

1.Websocket介紹 傳統的瀏覽器與服務器通訊的方式是http連接,這種連接是無狀態、單向的通信協議。即每次建立連接都得傳遞cookie、session信息來證明自己的身份,因爲服務器是不會記住之前連接的信息。同時只有客戶端向服務端

原创 OAuth2 源碼分析(一.核心類)

Spring Security源碼解析篇介紹了Spring Security的原理,複習下幾個概念 Principle   GrantedAuthority    Authentication   AbstractAuthenticati

原创 IO 字符流-字節流

java io 體系結構                                                                                                  1 字節流(Inp

原创 Socket 阻塞/非阻塞 同步IO

參考資料:https://www.cnblogs.com/goodboy-heyang/p/6372058.html  Socket通信實現步驟:1、創建ServerSocket和Socket(client)。2、打開連接到Socket

原创 Synchronized 深度解析

synchronized可修飾普通方法、靜態方法和代碼塊 。 修飾普通方法,鎖的是對象,一個對象有多個synchronized方法,只要一個線程訪問了其中的一個synchronized方法,其它線程不能同時訪問這個對象中任何一個synch

原创 CyclicBarrier底層原理

案例 CyclicBarrier是一個同步輔助類,允許一組線程互相等待,直到到達某個公共屏障點 (common barrier point)。因爲該 barrier 在釋放等待線程後可以重用,所以稱它爲循環 的 barrier。

原创 TheadLocal

原创 Sychronized 深度解析

synchronized可修飾普通方法、靜態方法和代碼塊 。 修飾普通方法,鎖的是對象,一個對象有多個synchronized方法,只要一個線程訪問了其中的一個synchronized方法,其它線程不能同時訪問這個對象中任何一個synch

原创 索引那些事

最近面試問了很多關於索引的事,本來自認爲可以對答如流,什麼BTREE  B+TREE啊,什麼like '%abc'和like ‘abc%’的區別啊,又是聯合索引a=? and b=? and c=?的判斷啊,很簡單吶,但沒想到啊,這裏面門

原创 JVM虛擬機筆記

1.執行java文件 zhangjg@linux:/deve/workspace/HelloJava/src$ javac HelloWorld.java zhangjg@linux:/deve/workspace/HelloJa

原创 字符流字節流

java io 體系結構                                                                                                  1 字節流(Inp

原创 Socket

參考資料:https://www.cnblogs.com/goodboy-heyang/p/6372058.html  Socket通信實現步驟:1、創建ServerSocket和Socket(client)。2、打開連接到Socket

原创 Rabbitmq和Kafka最全講解

市面上流行的消息隊列有rabbitmq,kafka,Activemq等,所有這些都是爲了解決消息的分佈式消費,完成項目與服務的解耦。採取異步模式完成消息隊列提供者和消費者的通信,提高了系統的響應能力和信息吞吐量。 Rabbitmq 基本概