原创 (三)Rocketmq的路由中心NameServer

文章目錄一.NameServer架構設計二.NameServer啓動流程step1:首先來解析配置文件,需要填充NameServerConfig NettyServerConfig屬性值step2:根據啓動屬性創建NamesrvC

原创 (四)Rocketmq消息發送

文章目錄一.消息發送二.消息結構三.生產者啓動流程四.消息發送基本流程4.1消息長度驗證4.2查找主題路由信息4.3選擇消息隊列4.4消息發送五.批量發送 Rocketmq發送消息有三種實現方式:可靠同步發送,可靠異步發送,單向(

原创 一文搞懂Mybatis原理

文章目錄一.快速入門二.查詢流程分析2.1首先通過ClassLoader讀取配置文件生成輸入流2.2建造者模式加載配置創建SQLSessionFactory2.2.1SQLSessionFactoryBuilder.builder

原创 過濾器Filter實現頁面跳轉

當我們想對不合法或不存或不符合要求的請求進行跳轉時,可已選擇Filter來實現,下面是簡單的例子 只需要在doFilter中實現內部邏輯即可 //業務邏輯 HttpServletRequest request = (HttpSer

原创 文章廢棄不可用

已經不可使用請轉到其他地方

原创 單利模式安全問題

常見的內部類 , 雙重檢測的內部類雖然保證了線程安全 , 但可通過反射 , clone 序列化等手段操作 ,創建新的對象 以靜態內部類爲例 public class Singleton4 implements Serializab

原创 (一)調試RocketMq源碼

文章目錄一.啓動NameServer1.1namesrv模塊找到NamesrvStartup.java1.2修改配置文件目錄1.3啓動NamesrvStartup.java二.配置Broker2.1配置BrokerStartup.

原创 (二)Rocketmq目錄結構及設計目標

文章目錄一.目錄結構二.設計理念與目標2.1設計理念2.2設計目標 一.目錄結構 1)broker:broker模塊 2)client:消息客戶端,包含消息生產者,消費者相關類 3)common:公共包 4)dev:開發者信息(

原创 mysql redo ,undo ,binlog

MySQL中有六種日誌文件, 分別是:重做日誌(redo log)、回滾日誌(undo log)、二進制日誌(binlog)、錯誤日誌(errorlog)、慢查詢日誌(slow query log)、一般查詢日誌(general

原创 Mac配置Hsdis輸出java彙編代碼

文章目錄一.下載hsdis-amd64.dylib文件二.配置hsdis三.jvm配置四.執行驗證成果 一.下載hsdis-amd64.dylib文件 鏈接: https://pan.baidu.com/s/1QHhnJpHNDa

原创 高性能mysql四.Schema和數據類型優化

文章目錄4.1選擇優化的數據類型4.1.1整數類型4.1.2實數類型4.1.3字符串類型4.1.4日期和時間類型4.1.5位數據類型4.2Mysql schema設計中的陷阱4.3範式和反範式4.3.1範式優點缺點4.3.2反範式

原创 高性能mysql六.查詢性能優化

文章目錄6.1爲什麼查詢速度會慢?6.2慢查詢基礎:優化數據訪問6.2.1是否向數據庫請求了不需要的數據6.2.2.mysql是否在掃描額外的記錄6.3重構查詢的方式6.3.1一個複雜查詢還是多個簡單查詢6.3.2切分查詢6.3.

原创 高性能mysql一.mysql系統結構和概念

文章目錄1.1Mysql邏輯架構1.1.1連接管理和安全性1.1.2優化與執行1.2併發控制1.2.1讀寫鎖1.2.2鎖粒度1.3事務1.3.1隔離級別1.3.2死鎖1.3.3事務日誌1.3.4mysql中的事務1.4多版本併發控

原创 Mybatis原理分析

文章目錄一.快速入門二.查詢流程分析2.1首先通過ClassLoader讀取配置文件生成輸入流2.2建造者模式加載配置創建SQLSessionFactory2.2.1SQLSessionFactoryBuilder.builder

原创 Mac 安裝ant

文章目錄一.官網下載ant二.解壓到指定路徑三.編輯配置四.執行命令ant -version 一.官網下載ant https://ant.apache.org/bindownload.cgi 二.解壓到指定路徑 三.編輯配置 v