原创 1、簡單工廠模式——反射+Properties實現計算器

設計模式案例源於本人對大話設計模式和網上資料學習總結,每個設計模式先上代碼,後續有時間補充package com.thpin.repository.designpattern; import java.io.FileInputStrea

原创 5、工廠方法模式—計算器操作

工廠方法模式(Factory Method):定義一個創建對象的接口,讓子類決子類定實例化哪個類。工廠方法使一個類的實例化延遲到其子類。UML圖:package com.thpin.repository.designpattern; p

原创 zookeeper技術總結

概要 ZooKeeper概述ZooKeeper的基本概念ZooKeeper環境搭建(單機,僞集羣,集羣) ZooKeeper概述 背景 隨着互聯網技術的高速發展,企業對計算機系統的計算、存儲能力要求越來越高,諸如高併發

原创 0、設計模式遵循的六大原則

這裏說的設計模式遵循的原則也是我們常聽到的面向對象設計、系統設計、接口設計時所遵循的幾大原則!一、單一職責原則單一職責原則:就一個類而言,應該僅有一個引起它變化的原因    如果一個類承擔的職責過多,就等於把這些職責耦合在一起,一個職責的

原创 3、裝飾模式—小菜和老蔡穿衣服

裝飾模式(Decorate):動態給一個對象添加額外的職責,就增加功能來說,裝飾模式比生成子類更爲靈活UML圖:package com.thpin.repository.designpattern; public class Decor

原创 JVM體系

轉載:點擊打開鏈接一、前言  爲什麼要學習瞭解Java虛擬機  1.我們需要更加清楚的瞭解Java底層是如何運作的,有利於我們更深刻的學習好Java。  2.對我們調試錯誤提供很寶貴的經驗。  3.這是合格的Java程序必須要了解的內容。

原创 2、策略模式—算法家族的支配者

策略模式(Strategy):它定義了算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓算法的變化,不會影響到使用算法的客戶。UML圖:package com.thpin.repository.designpattern; imp

原创 4、代理模式—代理追mm

代理模式(Proxy):爲其他對象提供一種代理一控制對這個對象的訪問。它可以控制真實對象的訪問權限、隱藏信息、做額外的操作。UML圖:package com.thpin.repository.designpattern; public

原创 第一章 MySQL體系結構和存儲引擎

內容源於《MySQL技術內幕InnoDB存儲引擎》一書,重點筆記1.1 定義數據庫和實例    數據庫:物理操作系統文件或其他形式文件類型的集合。在MySQL中,數據庫文件可以使frm、myd、ymi、idb結尾的文件。使用NDB引擎時,

原创 23、解釋器模式—編寫自己的語法解釋器

解釋器模式(Interpretor):給定一個語言,定義它的文法的一種表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。UML圖:|和&表達式的簡單解釋器代碼package com.thpin.repository.desi

原创 24、訪問者模式—把處理從數據結構分離出來

訪問者模式(Visitor):表示一個作用於某對象結構中的各元素的操作。它使你可以在不改變各元素類的前提下定義作用於這些元素的新操作。UML圖:package com.thpin.repository.designpattern; im

原创 18、橋接模式—抽象與實現分離。橋接模式和策略模式對比,橋接模式的個人完善

橋接模式(Bridge):將抽象部分與它的實現部分分離,使它們都可以獨立底變化。UML圖:package com.thpin.repository.designpattern; public class BridgeDemo {

原创 13、適配器模式—接口轉化

適配器模式(Adapter):將一個類的接口轉換成客戶希望的另外一個接口。適配器模式使得原本不能兼容而不能一起工作的哪些類可以一起工作UML圖:package com.thpin.repository.designpattern; pu

原创 16、迭代器模式—集合的遍歷器

迭代器模式(Iterator):提供一種方法順序訪問一個聚合對象中各個元素,而又不暴露該對象的內部顯示。UML圖:package com.thpin.repository.designpattern; import java.util.

原创 17、單例模式—原來單例模式有這麼多種實現

單例模式(Singleton):保證一個類只有一個實例,並保證只有唯一的訪問點。UML圖:package com.thpin.repository.designpattern; public class SingletonDemo {