原创 重構-簡化條件表達式
1、Decompose Conditional(自封裝字段) 你有一個複雜的條件語句。從if、then、else三個段落中分別提煉出獨立函數。 2、Consolidate Conditional Expression(合併
原创 java編程思想讀書筆記----第十三章 字符串
1、不可變String 2、重載“+”與StringBuilder 3、無意識的重載與遞歸 4、String常用方法 5、格式化輸出 java.util.Formatter類和System.out.form
原创 java編程思想讀書筆記----第五章 初始化與清理
1、清理:終結處理和垃圾回收 java裏的對象並非總是被垃圾回收,換句話說: 對象可能不被垃圾回收 垃圾回收不等於“析構” 垃圾回收只與內存有關 一旦垃圾回收器開始準備好釋放對象佔用的存儲空間是,會先調用其finali
原创 java編程思想讀書筆記----第六章 訪問權限控制
1、java解釋器的運行過程 首先,解釋器會查找CLASSPATH作爲根目錄。從根目錄開始,解釋器獲取包的名稱,並將點改爲反斜槓產生一個路徑名稱。該名稱與CLASSPATH中不同的項連接,解釋器就在這些目錄中查找與你要創建的類
原创 JAVA 併發編程—基礎2
對象的組合 ###1、設計線程安全的類 在設計線程安全類的過程中,需要包含以下三個基本要素 - 找出構成對象狀態的所有變量。 - 找出約束狀態變量的不變性條件。 - 建立對象狀態的併發訪問策略。 要分析對象的狀態,首先從
原创 jQuery File upload 上傳簡介
jQuery文件上傳插件由提供文件上傳API的基本版(jquery.fileupload.js)和提供完整用戶界面(jquery.fileupload-ui.js)的附加插件組成。基本版本的所有選項都存在於 UI版本,而後者引入了
原创 # JAVA 併發編程—基礎
線程安全性 通過同步避免多個線程在同一時刻訪問相同的數據 1、如果當多個線程同時訪問一個可變的狀態變量時沒有使用合適的同步,那麼程序會出現錯誤。有三種方式可以修復這個問題: (1)、不在多個線程之間共享該變量 (2)、將狀態變量改爲
原创 設計模式概述
以《大話設計模式》爲主,參考了一位大神的博客,總結一下24種設計模式。 模式分類 六大設計原則:單一職責原則,開放封閉原則,依賴倒轉原則,迪米特法則,接口隔離原則, 里氏替換原則。 創建型:簡單工廠模式,工廠模式,抽象工廠模式,建造者模
原创 Effective Java 讀書筆記
Effective Java-對於所有對象都通用的方法 #表示需深入理解 一、覆蓋equals時請遵守通用約定 覆蓋equals方法看起來似乎很簡單,但是有許多覆蓋方式會導致錯誤,並且後果非常嚴重。最容易避免這類問題的方法就是不
原创 重構-重新組織數據
1、Self Encapsulate Field(自封裝字段) 爲這個字段建立取值/設置函數,且只通過這個函數訪問該字段。 2、Replace Data Value with Object(以對象取代數據值) 有一個數據項,
原创 Effective Java-創建和銷燬對象
一、考慮用靜態方法代替構造器 類可以通過靜態工廠方法來提供它的客戶端,而不是通過構造器。 優勢: 1、它們有名稱,可以根據名稱將創建對象的行爲表達的更清楚。 2、可以不必在每次調用它們的時候都返回一個新對象。這使得不
原创 重構-簡化函數調用
1、Rename Method(函數改名) 2、Add Parameter(添加參數) 3、Remove Parameter(移除參數) 4、Separate Query from Modifier(將查詢函數和
原创 重構-處理概括關係
1、Pull Up Field(字段上移) 兩個子類擁有相同的字段。將該字段移至超類。 2、Pull Up Method(函數上移) 3、Pull Up Constructor Body(構造函數本體上移) 你在各個
原创 重構-在對象之間搬移特性
1、Move Method(搬移函數) 有個函數與所在類之外的另一個類進行更多的交流(調用或被調用)。在該函數最常引用的類中建立一個有着類似行爲的新函數。將舊函數變爲一個單純的委託函數,或者將舊函數刪除。 2、Move Field
原创 java編程思想讀書筆記----第九章 接口
1、抽象類與抽象方法 有時,我們希望建立一個通用接口,通過這個接口操作一系列類。該通用接口被稱爲抽象基類,簡稱作抽象類。抽象類只是表示一個接口,沒有具體的實現內容,因此創建一個抽象類的對象沒有任何意義,會報錯。建立抽象類的唯一理由是,