原创 小學生之單例模式

單例模式 Singleton Pattern ,是指確保一個類在任何情況下都絕對只有一個實例,並提供一個全局訪問點。屬於創建者模式 1、餓漢式 優點:執行效率高 缺點:類加載就初始化,不管用不用都佔用着空間,浪費內存 pub

原创 分佈式架構演變

架構演變 用戶驅動架構演變 1、一個請求訪問的性能瓶頸? CPU/文件IO/內存/網絡IO 2、性能提升的方式? 水平擴容和垂直擴容 演進案例過程 我們以javaweb爲例,來搭建一個簡單的電商系統,看看這個系統可以

原创 FileChannel閱讀筆記

FileChannel閱讀筆記 文章目錄FileChannel閱讀筆記一、簡介二、繼承關係圖三、存儲結構四、源碼分析內部類屬性構造主要方法1、write方法2、read方法3、position方法4、truncate方法5、tra

原创 如何把接口加入到Spring容器(任何類/接口都可以用這個方式,例如動態代理)

文章目錄問題緣由快速開始1、加入maven包2、寫一個自己的FactoryBean3、干預BeanDefinition上面已經完成,可以直接使用了下面就是加入自己的註解,不過和上面沒多大關係了1、自定義Autowired註解 問題

原创 徒手打造 - RPC遠程通訊框架v1

手寫RPC框架V1 gitee地址:https://gitee.com/kylin1991_admin/rpc_handwriting Api.jar 1、寫一個IHelloService接口,類似dubbo public int

原创 徒手打造 - RPC遠程通訊框架v1+v2

手寫RPC框架V1 gitee地址:https://gitee.com/kylin1991_admin/rpc_handwriting 文章目錄手寫RPC框架V1Api.jar1、寫一個IHelloService接口,類似dubb

原创 遠程通訊協議概念

​ 以圖鎮壓 (引用極客時間) 1、DNS域名解析 CDN Context Delivery Network 表示內容分發網絡 ,很多大型望着那,都會引入CDN來加速靜態內容的訪問。 CDN就是一種網絡緩存技術,能夠把一

原创 Redis之安裝/操作快速入門

文章目錄1、redis介紹2、支持的數據結構類型3、Redis安裝4、redis-server啓動5、redis-cli啓動6、停止/重啓7、Redis 原工具介紹8、Redis可視化客戶端9、配置命令10、30個配置參數介紹11

原创 大哥大之理解GC日誌

每一種GC日誌有區別,但是大同小異 33.125: [GC [PSYoungGen: 3937K->904K(76288K)] 3937K->912K(251392K), 0.0009287 secs] [Times: user=

原创 Netty之初體驗

1、Buffer、Selector、Channel 三件套 NIO 三件套 Selector: 調度器,總控中心,一個主線程去分配各種work線程工作,宇宙的總控中心。 Buffer:緩衝區,相當於數據容器對象,讀寫數據都是

原创 簡易之手寫序列化和反序列化框架

序列化和反序列化 gitee地址:https://gitee.com/kylin1991_admin/serializer-framework 1、概念 個人理解,序列化和反序列化就是一種壓縮和解壓的過程。壓縮和解壓講究一個速度

原创 Zookeeper之Java-API操作zk

Java訪問Zookeeper篇 比較常用的 Java 客戶端有 zkclient、curator。 一、Curator框架 由於 Curaotr 對於 zookeeper 的抽象層次比較高,簡化了zookeeper 客戶端

原创 Zookeeper之數據同步原理

Zookeeper數據同步 zk通過三種不同的 集羣角色來組成整個高性能集羣,在zk中,客戶端會隨機連接到zk集羣中的一個節點,如果是讀請求,就直接從當前節點中讀取數據,如果是寫請求,那麼請求會被轉發給leader提交事務,然後

原创 Zookeeper之選舉源碼分析閱讀

文章目錄Zookeeper 選舉相關源碼一、選舉閱讀前瞭解1、選舉相關參數a、服務器ID(myid)b、zxid事務IDc、邏輯始終(epoch-logicalclock)d、選舉狀態二、選舉邏輯1、服務啓動時的 leader 選

原创 Zookeeper之設計原理

文章目錄Zookeeper之設計原理一、分佈式一致性問題二、分佈式鎖鎖服務三、Zookeeper設計猜想1、防止單點故障Leader 角色Follower角色2、數據同步關於2PC提交階段一:提交事務請求(投票)階段二:執行事務提