編織訊息框架 設計協議 位運算

2022-02-01 10:41:18 字數 655 閱讀 1490

上節介紹bit基礎,這節課介紹bit常用基本運算

為什麼要使用 | & % ~ 這幾種常見的運算?

如果你理解需求是非常簡單的

需求1:有八種狀態可以疊加  那麼每個狀態佔乙個byte位 每個狀態可用 |疊加起來

需求2:要知道已使用那個狀態 用 &執行清位資料 得出的結果必然跟狀態相等

需求3:要清除所有狀態用 &~組合

需求4:在有限的容器裡或陣列迴圈使用 用 %,這樣做目的是復用資源池

比較常見的是 << 1 或者 << 8 或 << (8 *n)

<< 1 相當於 原來的值 * 2 倍

<< 8 相當於 提高乙個byte 位置 常用來網路傳輸轉換

int a = 1;

system.out.println(a

<< 1);

system.out.println(a

<< 8);

2256

>> 1 相當於 原來的值 / 2 

>> 8 相當於 降低乙個byte 位置 常用來網路傳輸轉換

system.out.println(2 >> 1);

system.out.println(256 >> 8);

11

編織訊息框架 設計協議 解決粘包半包 中

上節介紹問題出現跟處理方式,寫資料部份已經實現 這節介紹如何讀處理 處理流程分三部分 1.校驗包是否合法 2.讀取包內容 3.切割包 由於切割包用的是netty處理,所以只需集中精力解決前兩個問題即可 bytetomessagehandler.class 1 override 2public qpa...

編織訊息框架 訊息處理模式 管道模式

proxy server 提供外部公開訪問服務 client向proxy server訪問時,proxy server分發n個任務呼叫工作服 而client無需要關心proxy server 如何工作,如服務排程非同步還是同步 等侍合併結果 資料過濾去髒等 常用於 公開訪問服務,如資料分析任務分發 ...

編織訊息框架 訊息處理模式 發布訂閱模式

上面時序流程能解決外部請求,適合c s,b s架構 如果是s s可以簡化流程處理 這是經典的消費 生產模式,簡化了大量的處理邏輯,並消去通訊同併發產生的問題,服務與服務之間形成獨立解偶。一切以記錄為主,只要寫進就認為是處理成功 發布訂閱模式能支援多個消費同多個生產 而發布訂閱模式難點在於資料發生變更...