原创 圖解設計模式+代碼(五):行爲型模式

狀態模式 1、定義與特點 定義:對有狀態的對象,把複雜的“判斷邏輯”提取到不同的狀態對象中,允許狀態對象在其內部狀態發生改變時改變其行爲。 優點: 狀態模式將與特定狀態相關的行爲局部化到一個狀態中,並且將不同狀態的行爲分割開來,滿足“單

原创 圖解設計模式+代碼(四):行爲型模式

模板方法模式 1、定義與特點 定義:定義一個操作中的算法骨架,而將算法的一些步驟延遲到子類中,使得子類可以不改變該算法結構的情況下重定義該算法的某些特定步驟。它是一種類行爲型模式 優點: 它封裝了不變部分,擴展可變部分。它把認爲是不變部

原创 通過位運算實現加法(不使用加減乘除實現加法)

能否不使用加減乘除而實現兩數的相加呢? 當然可以,接下來將以最簡單的方式理解用位運算實現兩數相加。 首先,十進制的加法大家都非常熟悉,下面我們將十進制的加法進行解析,可分爲下面這三步: 將數字的各位分別相加,先不管進位的問題 計算產生進

原创 圖解設計模式+代碼(三):結構型模式

外觀模式 迪米特法則的典型應用 1、定義與特點 定義:是一種通過爲多個複雜的子系統提供一個一致的接口,而使這些子系統更加容易被訪問的模式。該模式對外有一個統一接口,外部應用程序不用關心內部子系統的具體的細節,這樣會大大降低應用程序的複

原创 圖解設計模式+代碼(二):結構型模式

代理模式 結構型模式描述如何將類或對象按某種佈局組成更大的結構。它分爲類結構型模式和對象結構型模式,前者採用繼承機制來組織接口和類,後者釆用組合或聚合來組合對象。由於組合關係或聚合關係比繼承關係耦合度低,滿足“合成複用原則”,所以對象結

原创 圖解設計模式+代碼(一):創建型模式

單例設計模式 指一個類只有一個實例,且該類能自行創建這個實例的一種模式 Java中Runtime的源碼就是使用單例模式實現的,初次之外還有Windows 的回收站、操作系統中的文件系統、多線程中的線程池、顯卡的驅動程序對象、打印機的後臺處

原创 簡單理解類之間的關係、UML圖

1、依賴 依賴(Dependency)關係是一種使用關係,它是對象之間耦合度最弱的一種關聯方式,是臨時性的關聯。在代碼中,某個類的方法通過局部變量、方法的參數或者對靜態方法的調用來訪問另一個類(被依賴類)中的某些方法來完成一些職責。依賴關

原创 Java虛擬機垃圾回收與算法

1、如何確定垃圾 引用計數法:在 Java 中,引用和對象是有關聯的。如果要操作對象則必須用引用進行。因此,一個簡單的辦法是通過引用計數來判斷一個對象是否可以回收。簡單說,即一個對象如果沒有任何與之關聯的引用,即他們的引用計數都不爲 0,

原创 Java虛擬機運行時內存

1、新生代 是用來存放新生的對象。一般佔據堆的 1/3 空間。由於頻繁創建對象,所以新生代會頻繁觸發 MinorGC 進行垃圾回收。新生代又分爲 Eden 區、ServivorFrom、ServivorTo 三個區 Eden區 Ja

原创 詳細的十大經典排序算法總結

  歡迎大家在語雀進行學習交流