原创 netty整合protocol buffer

netty整合protocol buffer例子問題及解決 例子 其實netty去整合protobuf很簡單,只是我們需要新的編解碼器。 server: public class TestProtobufServer { pub

原创 mysql行表鎖

mysql行表鎖表鎖讀鎖寫鎖行鎖 表鎖 打開兩個session連接數據庫: 先建表插入數據: create table mylock( id int not null primary key auto_increment, n

原创 紅黑樹的介紹(一)

red black tree爲什麼要有紅黑樹?什麼是紅黑樹?爲什麼查詢時間複雜度是log⁡n\log nlogn?操作 爲什麼要有紅黑樹? BST(binary search tree)查詢的時間複雜度是log⁡n\log nlo

原创 netty發送心跳測試

heartbeat testintroservertest intro 多個微服務之間,需要通過心跳來判斷服務到底還是不是活着。 netty可以輕鬆地完成心跳連接的邏輯。 這時我們要介紹一個handler:IdleStateHan

原创 mysql的事務及事務的隔離級別

transactionmysql transactionmultiple transactionsdemonstration mysql transaction 事務就是一組sql語句同時執行,要麼都成功,要麼都失敗。 因爲mys

原创 用netty寫一個簡單的聊天程序

chatintroserverclient intro netty封裝了nio,利用責任鏈模式,組織了許多handler。 上圖就是典型的責任鏈模式。 我們將寫一個簡單的聊天程序,學習更多handler。 server 必須要先

原创 binarySearch的妙用

binarySearch介紹測試特點應用 介紹 數組工具類Arrays有個很神奇的方法:binarySearch。 它有很多重載,我們介紹一個。 /** * Searches the specified array of

原创 google的protocol buffer的使用

protocol buffer介紹下載編寫.proto文件編譯.proto文件向文件中寫入消息從文件中讀取消息 介紹 protocol buffer簡稱protobuf。 在網絡數據傳輸的時候,我們需要序列化和反序列化。 java

原创 char的妙用

我們知道,java中,char的本質就是數,所以,它可以比較大小,可以加加減減。 看一道經典的題目: 如何統計字符串中大寫英文字母的個數? 解決辦法很多很多。 這裏,我們看一下使用char的威力。 public class Tes

原创 二進制基礎:補碼,左移,右移

binary引入爲什麼要有補碼特殊的值溢出數學移位邏輯位移邏輯右移的應用 引入 二進制是計算機的基礎,追根溯源還是因爲Si的半導體性。 除了二進制,還有十六進制,它是簡化二進制的表示。 做個測試: @Test publ

原创 spring中的事件監聽機制

Spring event listener介紹自定義事件、監聽和發佈事件:監聽器發佈者測試更加一般的事件 介紹 spring支持自定義的事件發佈。 spring的事件監聽機制基於ApplicationListener這個接口。

原创 redis作爲註冊中心

redis registry center下載dubbo源碼修改demo運行原理 下載dubbo源碼 dubbo可以讓redis作爲註冊中心。 從github上下載dubbo源碼。 找到dubbo-registry模塊下的dubb

原创 nacos啓動報錯——數據庫改不回derby

今天想啓動單機的nacos,所以在application.properties中註釋掉了mysql的內容(之前配了集羣): 因爲nacos本來就是用內嵌的數據庫derby的,所以當你用單機模式啓動的時候就會把數據庫切換成derb

原创 eureka的EurekaBootStrap(源碼解讀三)

EurekaBootStrapServletContextListenerinitEurekaEnvironment()initEurekaServerContext() ServletContextListener 在eurek

原创 布隆過濾器的推導

bloom filterintromore general intro 布隆過濾器是一種很有意思的數據結構,它的用途是檢測某個元素是否在一個集合中。 首先,有一個數組,它的元素全部是0,然後共有m個坑: 我現在有一個集合S={x