原创 Java併發編程之進程與線程

我們來看一下操作系統、進程、線程的包含關係: 操作系統是包含多個進程的容器,而每個進程是包含多個線程的容器 什麼是進程? 代碼角度:把一個類new出來是一個實例化的過程,進程就是對代碼的一種實例化; 總結:進程是程序(理解爲

原创 Java設計模式之建造者模式

建造者模式是指將一個複雜的對象的創建過程與它的表示分類,使得同樣的創建過程可以創建出不同的表示。簡單說,就是把創建對象時像搭積木一樣一塊一塊去拼裝對象的屬性。建造者模式適用於創建對象的過程需要具體指定創建順序,且不同的順序會產生不

原创 Java設計模式之原型模式

在創建一個對象的時候,通常會使用到類中的構造方法,也就是說,對象是從類中創建的。但是在某些特殊情況下,是不允許或不希望直接調用構造方法,即不通過類來創建對象,怎麼辦呢?我們就可以通過已經創建好的對象“克隆”出新的對象,即不通過類來

原创 Java設計原則之單一職責原則

單一職責原則是指:一個類、接口、方法只具備一個職責。單一職責原則可以降低系統的複雜性,提高代碼可讀性、可維護性。 比如:在開發過程中,我們通過會涉及到用戶信息接口的開發,一個User類可能包含的信息如下: public class

原创 Java設計模式之適配器模式

適配器模式是指將一個類的接口轉換成用戶期望的另一個接口,使得原本不兼容的類可以一起工作。比如:手機充電需要5V的電壓,而生活供電是220V電壓,所以給手機充電就需要一個5V的充電器,這個充電器就是適配器。由此可見,適配器模式的出現

原创 Java設計模式之模板模式

模板模式:定義一個算法的框架,將一些方法由子類實現。簡單說,就是爲子類設計一套執行流程,以便子類可以複用這套流程。 模板模式由抽象父類和子類構成,父類中包含: 模板方法(定義執行流程,子類調用) 抽象方法(子類必須實現) 鉤子方

原创 Java設計原則之里氏替換原則

里氏替換原則是指父類能出現的地方,其子類也可以出現,並且使用子類替換掉父類的話,程序不會報錯,反之,有子類的地方不一定能用父類替換。該原則要求我們儘可能的使用父類定義對象,具體運行的時候再決定子類對象類型。接下來,我們以人吃漢堡爲

原创 Java設計模式之設計原則總結

七大設計原則側重點不同,總結如下: 開閉原則是核心基礎,核心思想是:對擴展開放,對修改封閉,簡單地說,只做加法; 單一職責原則要求我們設計類、接口、方法的時候,保持功能單一,修改一處不影響其他地方; 里氏替換原則和依賴導致原則,

原创 Java設計模式之合成複用原則

合成複用原則是指通過將另外一個對象注入到當前對象中,作爲當前對象的成員變量,當前對象可以調用另外一個對象的功能,從而實現複用的效果。 合成複用原則要求我們儘量使用對象組合的方式而不是繼承的方法達到軟件複用的目的。這樣可以使系統更加

原创 緩存中間件之Redis入門

什麼是Redis? 早期很多互聯網產品在面對高併發時經常出現“響應慢”、“卡住”等用戶體驗差的情況,那是因爲用戶的“讀”請求遠遠多於用戶的“寫”請求,頻繁的讀請求在高併發的情況下會增加數據庫的壓力,爲了減少用戶直接與數據庫的交互,

原创 Java設計模式之迪米特法則

迪米特法則也叫最少知道原則,意思是一個對象應該對其他對象保持最少的瞭解,儘量降低類與類之間的耦合度。 舉個例子,某個班的班主任想要同學們的作業完成情況,班主任要找到班長去統計,班長再把統計結果告訴班主任。 public class