原创 網絡:UDP協議
1、簡介 UDP(User Datagram Protocol),用戶數據報協議。UDP報文長度,取決於應用層數據的長度,UDP並不做拆分和合並。 UDP數據報的位置: 2、協議首部 UDP協議結構圖:
原创 設計模式:代理模式
一、簡介 代理模式指的是客戶端並不直接調用實際的對象,而是通過調用代理,來間接的調用實際的對象。使用代理模式有兩個目的:保護目標對象;增強目標對象。 代理模式的結構: 真實類:客戶端要調用的對象的類型; 接口:真實要執行
原创 Spring:AOP原理
AOP指的是面向切面編程。Spring AOP是一種編程範式,主要目的是將非功能性的需求從功能性的需求中分離出來,達到解耦的目的。 一、基本概念 1、切面 切面Aspect,指的是一個關注點的模塊化,這個關注點可能會橫切多
原创 MySQL的數據類型
目錄 一、選擇數據類型的基本原則 1、選擇更小的數據類型 2、選擇更簡單的數據類型 3、儘量非null 二、整數類型 1、整數類型 2、顯示寬度和存儲值 3、有符號和無符號 4、內部計算 三、實數類型 1、實數類型 2、浮點運算的精度問題
原创 網絡:網絡層IP協議
目錄 一、IP協議 1、 IP數據報 1.1 IP首部 2、IP協議的轉發 2.1 路由表 2.2 IP協議轉發流程 3、子網劃分 3.1 分類的IP地址 3.2 劃分子網的基本思想 3.3 子網掩碼 3.4 無分類編址CIDR(構成超網
原创 網絡:實時運輸協議RTP和實時運輸控制協議RTCP
1、RTP RTP(Real-time Transport Protocol),實時運輸協議,爲實時應用提供端到端的運輸,但是不提供任何服務質量的保證。 1.1 工作流程 需要發送的多媒體數據塊經過壓縮編碼後,先發送給RT
原创 GuavaCache原理詳解
一、基礎信息 1、maven依賴 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>
原创 Spring:MVC原理
1、處理流程和核心組件 1.1 處理流程 Spring MVC大致的處理流程: 流程簡述: 用戶發送請求至前端控制器DispatcherServlet; 前端控制器DispatcherServlet收到請求後調用處理器映
原创 MySQL:SQL優化的一些建議
1、索引優化 1.1 一般性建議 對於單鍵索引,儘量選擇對當前query過濾性更好的索引; 在選擇複合索引的時候,當前query中過濾性最好的字段在索引字段順序中,位置越靠前越好; 在選擇複合索引的時候,儘量選擇能夠包含當前query中的
原创 Redis:分佈式鎖
分佈式鎖的本質,就是在Redis中給需要鎖定的key設置一個值,這樣在其他線程來訪問的時候,發現這個key已經被設置了值,就會放棄或者等待。 1、設置分佈式鎖 注意事項: 要設置超時時間,以防止服務未能正常釋放鎖; 設置鎖
原创 Java GC新生代晉升老年代的情況
Java中對象一般在新生代中進行創建,但是在一定的機制中會觸發晉升老年代的機制。相關機制包括: 1、分配擔保機制 Eden區滿時,進行Minor GC,當Eden和一個Survivor區中依然存活的對象無法放入到Survi
原创 設計模式:工廠模式
一、簡單工廠模式 簡單工廠模式是指由一個工廠對象決定創建哪一種產品類的實例,但是不屬於GoF的23種設計模式。簡單工廠模式適用於工廠類負責創建的對象較少的場景,客戶端只需要傳入工廠類的參數,而對如何創建對象並不關心。 1、產品類的
原创 設計模式:適配器模式
1、簡介 1.1 基本概念 適配器模式是指將一個類的接口轉換成用戶期望的另一個接口,使原本接口不兼容的類可以一起工作,屬於結構型設計模式。 1.2 適用場景 適配器模式適用於以下場景: 已經存在的類的方法和需求不匹配; 不
原创 Redis:持久化方案
Redis的持久化有兩種機制:快照,AOF日誌。 1、快照 快照是一種全量備份機制,是內存數據的二進制序列化形式,在存儲上非常緊湊。 Redis的單線程程序,爲了實現持久化的同時可以響應客戶端請求的目的,Redis
原创 網絡:數據鏈路層
目錄 一、主要作用 1、封裝成幀 2、透明傳輸 3、差錯檢測 3.1 奇偶校驗碼 3.2 循環冗餘校驗碼CRC 二、最大傳輸單元MTU 三、以太網協議 1、MAC地址 2、以太網協議 2.1 數據格式 2.2 MAC地址表 一、主要作用