原创 Python中文報錯問題

異常信息:SyntaxError: Non-ASCII character '\xe6' in file D:/pythonlearning/HelloPython.py on line 8, but no encoding declare

原创 深入理解java虛擬機-第二章:java內存區域與內存泄露異常

2.1概述: java將內存的管理(主要是回收工作),交由jvm管理,確實很省事,但是一點jvm因內存出現問題,排查起來將會很困難,爲了能夠成爲獨當一面的大牛呢,自然要了解vm是怎麼去使用內存的。2.2運行時的數據區域  vm會將管理的內存

原创 一天一個設計模式:模板方法模式

概念:  模板方法模式是類的行爲模式,準備一個抽象類,將部分邏輯以具體方法以及具體構造函數的形式實現,然後聲明一些抽象方法來迫使子類實現剩餘的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。這就是模板方法模式

原创 一天一個設計模式:裝飾者模式

概念: 裝飾者模式又稱爲包裝(wrapper)模式。裝飾者模式對客戶端透明的方式擴展對象的功能,是繼承關係的一個替代方案。結構: 裝飾者模式以透明的方式給一個對象附加上更多的責任,換而言之,客戶端並不會覺得對象在裝飾前後有什麼不同,裝飾者模

原创 一天一個設計模式:策略模式

概念: 策略模式屬於對象的行爲模式,其用意是針對一組算法,將每一個算法封裝到具有共同接口的獨立的類中,從而使得它們可以相互替換。策略模式使得算法可以在不影響客戶端的情況下變化。結構:環境(Context)角色:持有一個Strategy的引用

原创 一天一個設計模式:適配器模式

概念: 適配器模式是把一個類的接口變成客戶端所期待的另一種接口,從而使原本因接口不匹配而無法在一起工作的兩個類能夠在一起工作。用途: 就像插頭轉換器,之前入了switch港版,插頭是英式的,還好附贈一個插頭轉換器,適配器就相當於這個轉換器。

原创 一天一個設計模式:單例模式

概念: 作爲對象的創建模式,單例模式確保某一個類只有一個實例,而且自行實例化,並向整個系統提供這個實例。特點:  1.單例類只能有一個實例  2.單例類必須創建自己的唯一實例  3.單例類必須給其他所有對象提供這一實例。餓漢式單例類publ

原创 一天一個設計模式:建造模式

概念:  建造模式是對象的創建模式,建造模式可以將一個產品的內部表象(個人理解,可以稱爲組件)與產品的生產分割開來,從而可以使一個建造過程生產出來具有不同內部表象的產品對象。概念:產品的內部表象:  產品不同組成成分構成(組件)這些零件可以

原创 一天一個設計模式:工廠方法模式

工廠方法模式:  定義一個生產產品對象的工廠接口,將創建生產產品的工廠的工作交給子類實現。  隨着實際需要的工廠數量增加,簡單工廠模式體積會迅速膨脹,代碼迅速臃腫嚴重。   補充:工廠方法模式是針對一類產品的工廠  所以爲了代碼的可閱讀下與

原创 一天一個設計模式:抽象方法模式

爲什麼引入抽象工廠模式?或者說抽象工廠模式與工廠方法模式的區別?工廠方法模式針對的是一類產品的等級結構,而抽象工廠模式針對的是多個產品等級結構(一個產品族)。 引入概念:產品族與產品等級產品族:指在不同的產品等級結構中,功能相關聯的產品

原创 一天一個設計模式:簡單工廠模式

存在的目的:  解耦,在a類中如何想使用b類的某種功能,必須new 一個b對象出來,假如有一個c類,跟b實現了同一個接口,後續想要將b替換成c就需要更改在a中的代碼,以此類推,代碼的耦合度會隨着項目複雜度越來越高,維護成本也會越來越高。