原创 設計模式:3.抽象工廠

抽象工廠 抽象工廠模式屬於創建型模式 定義:爲創建一組相關或相互依賴的對象提供一個接口,而且無須指定它們的具體類 抽象工廠模式是對工廠方法模式的擴展,抽象工廠比工廠模式更爲抽象,工廠方法模式針對產品等級結構,而抽象工廠針對產品族。

原创 設計模式6:建造者模式

建造者模式 建造者模式屬於創建型設計模式,用來組裝複雜的實例 定義:將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示 建造者模式是一步一步創建一個複雜的對象,它允許用戶只通過指定複雜對象的類型和內容就可以構

原创 設計模式:5.觀察者模式(發佈訂閱)

觀察者模式 觀察者模式屬於行爲型模式,又叫發佈訂閱模式 定義: ​ 定義對象間一種一對多的依賴關係,使得每當一個對象改變狀態,則所有依賴於它的對象都會得到通知並被自動更新 模式類圖 角色: 被觀察者:Subject定義一個被觀

原创 設計模式:7.迭代器模式

迭代器模式 迭代器模式屬於行爲型模式,描述的是類之間的關係 定義: 它提供一種方法訪問一個容器對象中各個元素,而又不需暴露該對象的內部細節 迭代器模式就是爲解決遍歷元素而誕生的,java而言,使用java提供的iterator就可

原创 設計模式:4.代理模式

代理模式 代理模式屬於結構型模式 定義:爲其他對象提供一種代理以控制對這個對象的訪問 代理模式就是在操作原對象的時候,多出來一個代理類,用來對原對象的訪問進行控制和替代原對象進行一些操作 模式類圖 角色 抽象接口:able,定

原创 設計模式:2.工廠模式

工廠方法模式 工廠模式屬於創建型設計模式 定義:定義一個用於創建對象的接口,讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類 工廠方法模式是new一個對象的替代品,所以在所有需要生成對象的地方都可以使用,但如果隨意增

原创 SQL優化 隨筆

1 基本概念簡述 1.1 邏輯架構 第一層:客戶端通過連接服務,將要執行的sql指令傳輸過來 第二層:服務器解析並優化sql,生成最終的執行計劃並執行 第三層:存儲引擎,負責數據的儲存和提取 1.2 鎖 數據庫通過鎖機制來解決

原创 linux 端口問題

最近在工作中遇到一個很棘手的問題,dubbo遠程調用總是失敗。明明在本地起的服務就可以正常調用的,怎麼到服務器上就不行了呢?這令我百思不得其解,最後由於我聰明機智的頭腦終於發現了問題所在,原來是因爲序列化所需要的端口沒有被防火牆放

原创 設計模式:8適配器模式

適配器模式 適配器模式屬於結構型模式,又叫包裝模式 定義:把一個類的接口變換成客戶端所期待的另一種接口,從而使原本接口不匹配而無法一起工作的兩個類能夠在一起工作 在現有的系統中有新舊兩個接口,由於新舊接口不兼容導致客戶端調用出現問

原创 Docker容器部署

1.Docker簡介 1.1虛擬化 1.1.1什麼是虛擬化 在計算機中,虛擬化(英語:Virtualization)是一種資源管理技術,是將計算機的各種實體資源,如服務器、網絡、內存及存儲等,予以抽象、轉換後呈現出來,打破實體結構

原创 設計模式:1.單例模式

什麼是單例模式 單例模式目的是保證在程序運行期間一個類只有一個實例,並提供一個全局訪問點,無論什麼情況下,只會生成一個實例,免去繁瑣的創建銷燬對象的過程。 如何設計單例 如何設計單例模式其實很簡單,只需要考慮一個問題,實例是否可以

原创 Java併發編程:線程控制

在上一篇文章中(Java併發編程:線程的基本狀態)我們介紹了線程狀態的 5 種基本狀態以及線程的聲明週期。這篇文章將深入講解Java如何對線程進行狀態控制,比如:如何將一個線程從一個狀態轉到另一個狀態,如何設置線程的優先級等。

原创 Java線程同步實現二:Lock鎖和Condition

一.同步鎖 我們還是用同步鎖來實現存取款的例子: package com.chanshuyi.thread; import java.util.concurrent.locks.Lock; import java.util.co

原创 Java多線程:線程的幾種基本狀態

一、線程的基本狀態 線程基本上有5種狀態,分別是:NEW、Runnable、Running、Blocked、Dead。 1)新建狀態(New) 當線程對象對創建後,即進入了新建狀態,如:Thread t = new MyThrea

原创 Java線程同步實現一:synchronzied和wait()/notify()

1、一個典型的Java線程安全例子 package com.chanshuyi.thread; public class ThreadDemo93 { public static void main(String[]