原创 《設計模式》-- 門面模式

門面模式 門面模式 認識 思考 使用場景 優缺點 UML圖 代碼實現 認識 提供一個門面去調用系統各個子模塊,客戶端調用門面,減少客戶端與系統中各個子模塊的交互,鬆散耦合, 思考 Facade知道各個子模塊,而

原创 《設計模式》--單例模式

單例模式 單例模式 思考 使用場景 UML圖 代碼實現 餓漢式 懶漢式 類級內部類實現單例 枚舉實現單例 思考 單例模式的實質是控制實例數量,當需要控制一個類的實例只能有一個時,使用單例模式。 使用場景 j

原创 《設計模式》-- 構建者模式

構建者模式 構建者模式 認識 思考 優缺點 使用場景 UML圖 代碼實現 源碼例子 認識 構建者模式可以分步驟構建複雜對象,構建的過程是固定不變的director實現,變化的部分放到builder中實現,定義多個

原创 《設計模式》-- 訪問者模式

訪問者模式 參考:《JAVA與模式》之訪問者模式 訪問者模式 認識 思考 使用場景 優缺點 UML圖 代碼實現 認識 訪問者模式是對象的行爲模式。訪問者模式的目的是封裝一些施加於某種數據結構元素之上的操作。一旦這些操作需要修

原创 《java併發》--ThreadLocal

ThreadLocal 認識 ThreadLocal是一個map結構,ThreadLocal.set()默認是用當前線程作爲key來使用。 ThreadLocal不是用來解決共享對象的多線程併發問題,而是每個線程都創建一個對象,其他線程

原创 《mysql學習》-- MySQL數據庫設計總結

mysql 原文:MySQL數據庫設計總結 mysql MySQL數據庫設計總結 MySQL數據庫設計總結 規則1:一般情況可以選擇MyISAM存儲引擎,如果需要事務支持必須使用InnoDB存儲引擎。 注意:MyISAM存儲引

原创 《mysql學習》-- 事務

mysql 事務 1、事務的特性 ACID 有效的減少io次數可以明顯提高數據庫性能,當不開啓事務的事務,每執行一條語句都當做一個事務,都會發生一次io,如果開啓事務,將一個事務中所有的sql執行會首先在內存中執行,然後事務提交後開啓一

原创 《設計模式》-- 適配器模式

適配器模式 適配器模式 認識 思考 使用場景 優缺點 UML圖 類適配器 對象適配器 缺省適配 代碼實現 類適配器 對象適配器 缺省適配 認識 適配器模式是將一個類的接口變爲客戶端想要的另外一個接口,從而使原本因接口

原创 《redis學習》-- 緩存穿透和緩存雪崩的預防和解決

redis 緩存穿透和緩存失效的預防和解決 緩存穿透: 認識 緩存穿透是指查詢一個一定不存在的數據,由於緩存是不命中時需要從數據庫查詢,查不到數據則不寫入緩存,這將導致這個不存在的數據每次請求都要到數據庫去查詢,造成緩存穿透。 解決

原创 《mysql學習》-- mysql優化

mysql mysql mysql 優化 sql語句優化 索引優化 數據庫結構優化 存儲引擎的選擇 理解查詢執行計劃 explain 緩衝和緩存 鎖優化鎖策略 MySQL服務器優化 性能評估 MySQL優化內幕 sql語句優化

原创 《設計模式》-- 策略模式

策略模式 策略模式 認識 思考 使用場景 優缺點 UML圖 代碼實現 認識 策略模式屬於對象的行爲模式。其用意是針對一組算法,將每一個算法封裝到具有共同接口的獨立的類中,從而使得它們可以相互替換。策略模式使得算法可以在不影響

原创 《設計模式》-- 觀察者模式

觀察者模式 參考:《JAVA與模式》之觀察者模式 觀察者模式 認識 思考 使用場景 優缺點 UML圖 代碼實現 推模型 拉模型 jdk提供的接口 認識 觀察者模式是對象的行爲模式,定義了一種一對多的依賴關係,多個觀察者

原创 《設計模式》-- 命令模式

命令模式 命令模式 認識 思考 使用場景 優缺點 UML圖 代碼實現 普通命令模式 宏命令 認識 命令模式屬於對象的行爲模式,命令模式是對命令的封裝。命令模式把發出命令的責任和執行命令的責任分割開,委派給不同的對象。 每

原创 《mysql學習》-- explain執行計劃

mysql 參考:MySQL執行計劃解讀 mysql explain執行計劃 id select_type table type possible_keys key key_len ref rows Extra expla

原创 《設計模式》-- 享元模式

享元模式 參考:《JAVA與模式》之享元模式 享元模式 認識 思考 使用場景 優缺點 UML圖 單純享元模式 複合享元模式 代碼實現 單純享元模式 複合享元模式 認識 享元模式是對象的結構模式。享元模式以共享的方式高