原创 2019年中總結

明天就要出發去杭州準備入職螞蟻了,今晚寫個年中總結吧 1月基本就是看書,略過 2月份,即寒假,複習了下MongoDB,還看了Python爬蟲。寒假快結束的時候看到同學的說說,發現自己JUC沒怎麼看,於是開始看源碼,同時投了頭條實習。頭條面

原创 緩存學習(十):分佈式Redis之Redis Cluster

目錄 1 數據拆分 2 Redis Cluster配置 3 集羣搭建 4 集羣命令 4.1 redis-cli 的集羣管理模式 4.2 客戶端命令 5 原理 5.1 節點通信 5.2 槽的遷移 5.2.1 集羣收縮 5.2.2 集羣擴容

原创 緩存學習(九):分佈式Redis之副本、哨兵

目錄 1.配置主從節點 2.複製原理 2.1 複製流程 2.1.1 全量複製 2.1.2 斷點續傳 2.2 PSYNC協議 2.3 心跳機制 3 哨兵Sentinel 3.1 簡介 3.2 配置 3.3 搭建 3.4 命令 3.5 哨兵實

原创 緩存學習(八):Redis的Java客戶端

目錄 1 基本使用 2 高級特性 2.1 連接池JedisPool 2.2 管道 2.3 事務 2.4 發佈/訂閱 2.5 streams支持 3 利用Jedis實現一個簡單的分佈式鎖 3.1 構造方法 3.2 lock方法 3.3 un

原创 OpenDDS Java開發(二):根據IDL進行代碼生成

目錄 1.編寫IDL文件 2 將IDL編譯爲C++代碼 3 將已生成代碼編譯爲Java代碼 4 使用UserManager替換Messenger 1.編寫IDL文件 IDL是Interface description language的縮

原创 緩存學習(七):Redis的高級機制:管道、事務、腳本、發佈訂閱、持久化

目錄 1.管道 1.1 RESP 1.2 通過管道交互 2 事務操作 3.腳本 4. 發佈/訂閱模式 5.持久化 5.1 RDB 5.2 AOF 1.管道 1.1 RESP Redis的協議稱爲RESP,它將協議數據分爲不同類型,根據數據

原创 緩存學習(六):Redis的數據結構及基本命令

目錄 0.key 1.string 2.list 3.set 4.hash 5.sorted set(zset) 6.streams 7.衍生類型 7.1 bitmaps 7.2.geo Redis 5之前一共有六個主要數據結構:key、

原创 緩存學習(四):MemCached的Java客戶端

目錄 1 基本使用 2 高級特性 2.1 爲節點設置權重 2.2 動態調整集羣 2.3 NIO連接池 2.4 節點選擇 2.5 Key迭代器 2.6 命名空間 2.7 安全認證 2.8 Failure模式 和 Standby模式 3 結合

原创 緩存學習(三):MemCached安裝、配置和命令

目錄 1.安裝 2.使用 2.1 常用選項 2.2 命令格式 2.3 命令 EhCache和Guava Cache雖然簡單、高效,但是它們都是本地緩存(EhCache可以分佈式部署,但是需要依賴Terracotta,顯然不利於維護),一般

原创 緩存學習(二):Guava Cache

目錄 1 LoadingCache的創建:藉助CacheLoader 2 Cache的創建與使用:需要配置Callable 3 CacheBuilder的可配置屬性 Guava是Google推出的Java增強包,包含了很多實用功能,如:O

原创 緩存學習(一):EhCache

目錄 1.基本使用 1.1 XML配置 1.2 硬編碼 1.3 直接創建Cache 2.結合Spring使用 2.1 使用EhCacheCacheManager —— 僅支持2.x版本 2.2 使用JCacheCacheManager —

原创 Spring源碼學習(八):Spring Boot原理

目錄 1.Spring Boot簡介 2.Spring Boot啓動原理 —— 構造方法 2.1 deduceFromClasspath方法 2.2 配置ApplicationContextInitializer、ApplicationL

原创 Spring源碼學習(七):Spring MVC的請求響應流程

目錄 1.方法到達service 1.1 processRequest方法 1.2 父類service方法 2.doDispatch方法 2.1 檢查上傳請求 —— checkMultipart方法 2.2 查找處理器 —— getHan

原创 Spring源碼學習(六):Spring MVC的初始化過程

目錄 1.ContextLoaderListener 1.1 創建WebApplicationContext 1.2 設置和刷新WebApplicationContext 2.DispatcherServlet 2.1 init方法 2.

原创 Spring源碼學習(五):Bean的創建和獲取

目錄 1.獲取Bean單例實例 2.完整創建Bean 2.1 Bean創建的前置處理 2.2 創建Bean:doCreateBean的createBeanInstance方法 2.2.1 通過Supplier實例化 —— obtainFr