原创 一起學設計模式 - 工廠模式

工廠模式是JAVA中最常用的設計模式之一,使用工廠模式後,創建對象的時候不在將創建邏輯暴露給客戶端,而是通過實現接口的方式創建對象,這種設計模式也是對象實例化的最佳方式。 概述 工廠模式的三種形態 簡單工廠(Simpl

原创 一起學併發編程 - 簡易線程池實現

開發中經常會遇到各種池(如:連接池,線程池),它們的作用就是爲了提高性能及減少開銷,在JDK1.5以後的java.util.concurrent包中內置了很多不同使用場景的線程池,爲了更好的理解它們,自己手寫一個線程池,加深印象

原创 一起學設計模式 - 代理模式

代理模式(Proxy Pattern)屬於結構型模式的一種,給某個對象提供一個代理對象,並由代理對象控制對於原對象的訪問,即客戶不直接操控原對象,而是通過代理對象間接地操控原對象。 概述 身處華夏大地的碼農都知道,因爲國內有

原创 一起學併發編程 - sleep與wait的差異

在JAVA的學習中,不少人會把sleep和wait搞混,認爲都是做線程的等待,下面主要介紹下這倆者是什麼,及瞭解它們之間的差異和相似之處。 一般差異 簡單來說,wait()是一個用於線程同步的實例方法。它可以在任何對象上調用

原创 一起學設計模式 - 橋接模式

橋接模式(Brideg Pattern)屬於結構型模式的一種,用於把抽象化與實現化解耦,使得二者可以獨立變化,它通過提供抽象化和實現化之間的橋接結構,來實現二者的解耦。 概述 橋接模式是一種很實用的結構型設計模式,如果軟件系

原创 一起學設計模式 - 外觀模式

外觀模式(Facade Pattern)屬於結構型模式的一種,爲子系統中的一組接口提供一個統一的入口,它通過引入一個外觀角色來簡化客戶端與子系統之間的交互… 概述 外觀模式是一種使用頻率非常高的結構型設計模式,當你要爲一個複

原创 一起學併發編程 - 等待與通知

wait,notify 和 notifyAll,這些在多線程中被經常用到的保留關鍵字,在實際開發的時候很多時候卻並沒有被大家重視,而本文則是對這些關鍵字的使用進行描述。 存在即合理 在java中,每個對象都有兩個池,鎖池(

原创 一起學設計模式 - 原型模式

原型模式(Prototype Pattern)是創建模式的一種,其作用是提高創建效率,減少計算機資源開銷,與工廠模式類似的是,都屏蔽了對象實例化的過程… 概述 原型模式是23GOF模式的一種,其特點就是通過克隆/拷貝的方式來

原创 一起學設計模式 - 適配器模式

適配器模式(Adapter Pattern)屬於結構型模式的一種,把一個類的接口變成客戶端所期待的另一種接口,從而使原本接口不匹配而無法一起工作的兩個類能夠在一起工作… 概述 當你想使用一個已經存在的類,而它的接口不符合你的

原创 Spring解密 - XML解析 與 Bean註冊

Spring是一個開源的設計層面框架,解決了業務邏輯層和其他各層的鬆耦合問題,將面向接口的編程思想貫穿整個系統應用,同時它也是Java工作中必備技能之一… 前言 由於記錄的是Spring源碼分析的過程,詳細用法就不一一贅述了

原创 一起學設計模式 - 組合模式

組合模式(Composite Pattern)屬於結構型模式的一種,組合多個對象形成樹形結構來表示部分 - 整體的結構層次,對單個對象(葉子對象)和組合對象(容器對象)的使用具有一致性 概述 組合模式對單個對象(葉子對象)和

原创 一起學設計模式 - 單例模式

單例設計模式(Singleton Pattern)是最簡單且常見的設計模式之一,主要作用是提供一個全局訪問且只實例化一次的對象,避免多實例對象的情況下引起邏輯性錯誤(實例化數量可控)… 概述 Java中,單例模式主要分三種:

原创 一起學設計模式 - 建造者模式

建造者模式(Builder Pattern)屬於創建型模式的一種,將多個簡單對象構建成一個複雜的對象,構建過程抽象化,不同實現方法可以構造出不同表現(屬性)的對象,還提供了一種更加優雅構建對象的方式… 概述 有時候構建一個複

原创 一起來學SpringBoot | 第四篇:整合Thymeleaf模板

SpringBoot 是爲了簡化 Spring 應用的創建、運行、調試、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業務本身而不是外部的XML配置,我們只需遵循規範,引入相關的依賴就可以輕易的搭建出一個 WE

原创 Spring解密 - 默認標籤的解析

Spring是一個開源的設計層面框架,解決了業務邏輯層和其他各層的鬆耦合問題,將面向接口的編程思想貫穿整個系統應用,同時它也是Java工作中必備技能之一… 前言 緊跟上篇 Spring解密 - XML解析 與 Bean註冊