原创 淺析mysql事務與鎖機制

文章目錄什麼是事務?事務的四大特性(ACID):事務併發帶來的問題:mysql事務的隔離級別:MVCC與LBCCInnoDB中怎麼實現的MVCC鎖行鎖表鎖InnoDB行鎖原理InnoDB行鎖算法事務隔離級別的選擇 先回顧一下概念性

原创 mysql索引在存儲引擎中的實現及索引的使用原則

文章目錄索引在存儲引擎中的實現MYISAM存儲引擎InnoDB存儲引擎索引的使用建立索引的基本規則覆蓋索引創建索引什麼時候用不到索引 索引在存儲引擎中的實現 主要就看MYISAM和InnoDB,這兩個是最常見的。 命令: sho

原创 mysql索引及索引的存儲結構

文章目錄什麼是索引索引的存儲結構如果使用有序數組如果使用單鏈表如果使用二分查找樹(Binary Search Tree)平衡二叉樹(AVL樹)多路平衡查找樹(B Trees)加強版多路平衡樹(B+ Trees)簡單瞭解HASH索引

原创 簡單分析mysql的InnoDB存儲引擎的內存架構

文章目錄讀緩存(buffer pool)寫緩存(change buffer)redo log 上圖是mysql官方文檔中提供的InnoDB架構圖,左側是內存架構,右側則是磁盤架構。本文主要對內存架構簡單分析下,下次再說磁盤架構

原创 簡單分析mysql的InnoDB存儲引擎的磁盤架構

文章目錄1.系統表空間(System Tablespace)雙寫緩衝(Doublewrite Buffer)2.獨佔表空間(File-Per-Table Tablespace)3.通用表空間(General Tablespaces

原创 MYSQL開篇:mysql的體系結構

前言:本文爲mysql的開篇文章,後邊陸續會寫mysql一系列的知識。主要記錄了最近一段時間學習的東西並分享給大家。 文章目錄一條查詢語句的執行流程:連接緩存模塊(query cache)解析器(parser)預處理器優化器(op

原创 工欲善其事必先利其器-JVM相關參數、命令、常用工具

注意:本文不做相關參數、命令、常用工具的演示。 JVM參數 大體上分爲四類: 1.標準參數 : 就是不會隨着jdk的版本不同而不同。如java -version、java -help 2.-X參數 : 如 java -Xint

原创 一篇文章帶你認識Java反射

文章目錄Java 反射定義Java 反射的優缺點反射技術的主要組成反射-基本信息操作反射-類的屬性操作反射-類的方法操作反射-類的構造器操作單例模式也許並不單例 Java 反射定義 指在 Java 程序運行狀態中,動態獲取類的內容

原创 結構型模式之裝飾器(包裝)模式

文章目錄裝飾器模式的定義與特點裝飾器模式的結構裝飾器模式的實現裝飾器模式的應用場景 在現實生活中,常常需要對現有產品增加新的功能或美化其外觀,如房子裝修、相片加相框等。在軟件開發過程中,有時想用一些現存的組件。這些組件可能只是完成

原创 正則表達式符號釋義

元字符 . :匹配除換行符以外的任意字符 \w :匹配字母、數字、下劃線和漢字 \s :匹配任意的空格字符 \d :匹配數字 \b :匹配單詞的開始或結束 反義符(大寫) \W :匹配不是字母、數字、下劃線和漢字的字符 \S :匹

原创 軟件設計七大原則,看完這一篇就夠了

文章目錄開閉原則(Open-Closed Principle)里氏替換原則(Liskov Substitution Principle)依賴倒置原則(Dependence Inversion Principle)單一職責原則(Si

原创 創建型模式之原型模式(深拷貝/淺拷貝)

文章目錄原型模式的定義與特點原型模式的結構原型模式的實現淺克隆淺克隆帶來的問題深克隆序列化實現深克隆json實現深克隆原型模式總結 原型模式的定義與特點 原型(Prototype)模式的定義: 用一個已經創建的實例作爲原型,通過複

原创 創建型模式之建造者模式(Builder模式)

文章目錄建造者模式的定義與特點建造者模式的結構建造者模式的實現應用場景建造者模式和工廠模式的區別建造者模式的擴展 在軟件開發過程中有時需要創建一個複雜的對象,這個複雜對象通常由多個子部件按一定的步驟組合而成。例如,計算機是由 OP

原创 300行代碼實現Spring核心原理(徹底搞懂IOC、DI)

文章目錄1.準備工作2.編寫自定義註解3.編寫簡單的Controller、Service4.編寫核心重點:DispatcherServlet5.測試 我們都知道spring的執行原理,甚至爲了面試倒背如流(http請求–>disp

原创 行爲型模式之狀態模式

文章目錄狀態模式的定義狀態模式的結構狀態模式的實現狀態模式的應用場景狀態模式的優缺點 在軟件開發過程中,應用程序中的有些對象可能會根據不同的情況做出不同的行爲,我們把這種對象稱爲有狀態的對象,而把影響對象行爲的一個或多個動態變化的