原创 設計思想學習—原型模式

原型模式 原型模式(Prototype):原型實例指定創建對象的種類,並通過拷貝原型創建新的對象; UML圖 原型模式組成 客戶(Client)角色:客戶類提出創建對象的請求。 抽象原型(Prototype)角色:這是一

原创 設計思想學習—單例模式

單例模式 單例模式(singleton): 保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 單例模式個人感覺是最簡單的設計模式,因爲他的目的很簡單,並且沒有用到太多的面對對象的特徵,所以很簡單。 單例模式主要是爲了不

原创 設計思想學習—工廠方法模式

簡單工廠模式 主要內容 簡單工廠模式 工廠方法模式 首先先來一個沒有運用模式的普通案例 模擬計算器例子 public class Calc{ public static void main(String[] args

原创 設計思想學習—抽象工廠模式

抽象工廠模式 抽象工廠模式(Abstract Factory):爲創建一組相關或相互依賴的對象提供一個接口,而且無需指定他們的具體類。 抽象工廠模式組成 抽象工廠(Creator)角色:這是工廠方法模式的核心,定義了創建產品

原创 java.net.HttpURLConnection 踩坑經歷

java.net.HttpURLConnection 這個是java自帶的網絡庫,接手項目後遇到了兩個問題: 1.自動靜默的重試 2.默認進行3XX跳轉 自動靜默的重試 這個查閱了一些資料發現,是java類庫自帶的bug,不過在2

原创 java虛擬機-虛擬機基本

虛擬機基本什麼是java虛擬機概念通俗易懂的理解jvm的生命週期java虛擬機的體系結構類裝載器子系統運行時數據區執行引擎本地方法接口 什麼是java虛擬機 我一般是能記例子就不記概念,不過概念還是要貼出來的 概念 Java虛擬機

原创 設計思想學習—策略模式

策略模式 首先來看一下定義 策略模式(Strategy):定義一組算法,將每個算法都封裝起來,並且使他們之間可以互換 策略模式主要有三點組成 抽象策略角色: 策略類,通常由一個接口或者抽象類實現。 具體策略角色:包裝了相關的

原创 設計思想學習—建造者模式

建造者模式 建造者模式(Builder):將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 建造者模式組成 抽象建造者(builder):爲創建一個產品對象的各個部件指定抽象接口。 實際建造者(Co

原创 設計思想學習—裝飾者模式

裝飾者模式 Decorator模式(別名Wrapper):動態將職責附加到對象上,若要擴展功能,裝飾者提供了比繼承更具彈性的代替方案。 UML圖 裝飾者包含四個基本類 抽象構件角色(Component):給出一個抽象接

原创 設計思想學習之六大原則

六大原則 開閉原則 接口隔離原則 迪米特法則 依賴倒置原則 里氏替換原則 單一職責原則 這六種原則相信網上一找一大堆,所以我也就不寫一些公共的定義或者一些書面語,我只談談自己的學習理解。 開閉原則 開閉原則(Open Cl

原创 java容器-ConcurrentHashMap

文章目錄ConcurrentHashMap重要常量四個節點構造方法tableSizeForputinitTablehelpTransfer transfer等擴容機制get小結 ConcurrentHashMap 本文章源碼來自

原创 maven 替換指定文件屬性值

maven 替換指定文件屬性值 問題由來 接到一個需求:組裝 http 協議的時候在 header 裏面帶上 User-agent , 但是 agent 裏面需要動態獲取當前操作系統、系統架構、當前項目版本和名稱。本着最少維護成本的想

原创 命令啓動Junit測試類

命令啓動Junit測試類 準備 hamcrest-core-1.3.jar junit-4.12.jar 必須的兩個包 運行 要有java壞境,然後修改ClASSPATH壞境配置 添加上,上面兩個包的路徑 因爲我是放在JAVAHOME

原创 java容器-ArrayList

文章目錄java集合CollectionArrayList常量構造函數addgetsetremoveclearaddAllcontainstrimToSize小結 java集合Collection 一些實用的基本的東西,不會去分析UM

原创 java虛擬機-垃圾回收機制

垃圾回收機制如何確定對象已死引用計數法根搜索法垃圾回收算法Mark-Sweep(標記-清除)算法Copying(複製)算法Mark-Compact(標記-整理)算法Generational Collection(分代收集)算法垃圾收集