原创 裝飾模式

裝飾模式是23種設計模式之一,英文名叫Decorator Pattern,又叫裝飾者模式。 裝飾模式可以在不必改變原類文件和不使用繼承的情況下,動態的擴展一個對象的功能。它是通過創建一個包裝對象,也就是裝飾來包裹真實的對象。通過使用裝

原创 Sed的使用

一、介紹 Sed是一種非交互式的流編輯器(Stream Editor),可動態編輯文件。所謂非交互式是說,sed和傳統的文本編輯器(如Vi、Emacs)不同,並非和使用者直接交互,sed處理的對象是文件的數據流,sed從文本的一個文本行或

原创 Java類加載

Java類加載 虛擬機把描述類的數據從Class文件加載到內存中,並對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型,這就是Java虛擬機的類加載機制。 先從一個HelloWorld說起,對於一個HelloW

原创 Linux壓縮和打包歸檔命令

一、打包解包命令:tar 命令所路徑:/bin/tar 執行權限:所有人 語法格式:tar[選項]  [目錄] 選項:  -c       create創建.tar文件 -x        解壓tar包 -v        verbose

原创 原型模式

原型模式(Prototype Pattern)是創建型模式(Creation)的一種,創建型型模式是對類的實例化過程的抽象化,能夠提高對象的創建和管理職責。 原型模式的英文原話是:Specify the kinds of object

原创 Linux啓動過程

Linux的啓動過程: 連通電源固件加電自檢自舉程序BootLoader(GRUB)載入內核啓動Init進程讀取/etc/inittab,找到啓動級別n讀取/etc/rc.d/rc.sysinit找/etc/rcn.d中的啓動服務,啓動

原创 工廠方法模式

工廠方法模式是簡單工廠模式的進一步抽象和推廣。由於使用了多態性,工廠方法模式保持了簡單工廠模式的優點,而克服了它的缺點。首先,在工廠方法模式中核心工廠類不在負責所有產品的創建,而是將具體創建的工作交給子類去做。這個核心類則稱爲一個抽象工廠

原创 Timer與ScheduledThreadPoolExecutor

在實際應用中,有時候我們需要創建一些個延遲的、並具有週期性的任務,比如,我們希望當我們的程序啓動後每隔1小時就去做一次日誌記錄。在JDK中提供了兩種方法去創建延遲週期性任務。 Timer Timer是java.util包下的一個類,在J

原创 MySQL存儲引擎

和大多數數據庫不同,MySQL中有一個插件式存儲引擎的概念,針對不同的存儲需求可以選擇最優的存儲引擎。 MySQL和其他數據庫的區別一覽 其中,MySQL中並不是所有的存儲引擎都支持上述功能,各存儲引擎之間的差異如下: 可以在創建

原创 建造者模式

建造者模式(Builder Pattern)是創建型型模式(Creational Pattern)的一種,與工廠方法、抽象工廠等創建型模式不同,建造者模式需要關注一些創建的細節,它將產品的內部表象和產品的生產過程分割開來,從而使得一個創

原创 先行發生原則(Happens-before)

先行發生原則(Happens-Before)是判斷數據是否存在競爭、線程是否安全的主要依據。 先行發生是Java內存,模型中定義的兩項操作之間的偏序關係,如果操作A先行發生於操作B,那麼操作A產生的影響能夠被操作B觀察到。 Java內存

原创 hosts文件的修改

hosts文件的作用: 當我們在瀏覽器輸入一個域名地址的時候,需要轉換成IP地址後才能訪問,一般是根據域名請求DNS服務器,得到IP地址。對於一個經常訪問的域名,這樣做很耗時,所以,可以將該域名以及它的IP地址寫入到hosts文件中去,系

原创 策略模式

策略模式(Strategy Pattern)是相對比較簡單的一種設計模式,是通過定義一組算法,並且將每個算法封裝到具有共同接口的獨立類中,從而使它們之間可以相互轉換,使算法在不影響客戶端的情況下發生變化。 策略模式體現了這樣兩個原則——

原创 抽象工廠模式

抽象工廠模式是一個比較常用的設計模式,它的英文原話是: Provide an interface for creating families of related or dependent objects without specifyi

原创 簡單工廠模式

工廠模式 工廠方法模式又叫虛擬構造函數模式或者多態性工廠模式。工廠方法的用意是定義一個創建產品對象的工廠接口,將實際創見性工作推遲到子類中去。工廠模式可以分爲簡單工廠、工廠方法和抽象工廠模式。 簡單工廠模式 嚴格說簡單工廠模式不在23種G