原创 Spring AOP的兩種實現方式——JDK和CGLIB

動態代理 動態代理的意義就是生成一個代理對象,來代理真實對象,從而控制真實對象的訪問,這裏涉及的代理模式自行了解 代理步驟 1、代理對象和真實對象建立代理關係 2、實現代理對象的代理邏輯方法 JDK動態代理 因爲JDK動態代理方式

原创 索引的原理——我們爲什麼用B+樹來做索引?

什麼是索引? 索引是關係數據庫中對某一列或多個列的值進行預排序的數據結構,就好比書籍的目錄。 爲什麼使用索引? 索引的出現其實就是爲了提高數據庫查詢的效率,就好比書的目錄,通過書的目錄,我們可以快速精確找到我們想要的信息 不適合索

原创 Mysql基礎架構

Mysql基礎架構 客戶端 客戶端可以是JDBC代碼工具、可視化工具或是命令行,我們通過客戶端提交URL、用戶名和密碼等信息 連接器 連接器負責和客戶端建立連接、獲得權限,維護和管理連接,連接器用從我們在客戶端輸入的信息與數據庫

原创 MySQL——日誌系統

redo log(重做日誌) 首先,明確redo log是innodb存儲引擎層面的日誌文件,當我們對數據進行更改操作之後,innoDB會將記錄先記錄在redo log中,然後更新內存,這樣我們的更改操縱也就算完成了,然後存儲引擎

原创 Java——this關鍵字

this關鍵字 1. 指示隱式參數(本類對象的引用) this關鍵字只能在方法內部使用,表示對“調用方法的那個對象”的引用,這一說法是《Java編程思想》的說法,但不要理解成this關鍵字僅限於調用方法的引用,this關鍵字同樣可

原创 快速提升編程能力的關鍵

快速提升編程能力的關鍵 本文是我看陳皓專欄《左耳聽風》推薦的文章翻譯(並非完全按照原文翻譯,乾貨部分原文翻譯),原文鏈接The Key To Accelerating Your Coding Skills。 當你開始學習編程的時候