原创 java設計模式之觀察者模式

觀察者模式(ObserverPattern)。用於實時監測某些Object的動態、只要Object一改變、那麼他的所有觀察者Observer都會知道、之後觀察者會根據Object的改變進行下一步操作。這個在SWING編程中是最常見的。那些L

原创 java併發編程實戰學習筆記之對象的組合與基礎構建模塊

第四章 對象的組合4.1 構建安全的類4.2 實例封閉@ThreadSafe public class PersonSet {     @GuardedBy("this") private final Set<Person> mySet =

原创 JAVA io流 文件流 字節流 字符流 過濾流 緩衝流

一、概念1.1、按流向分類:輸入流: 程序可以從中讀取數據的流。輸出流: 程序能向其中寫入數據的流。1.2、按數據傳輸單位分類:字節流:以字節(8位二進制)爲單位進行處理。主要用於讀寫諸如圖像或聲音的二進制數據。字符流:以字符(16位二進制

原创 java併發編程實戰學習筆記之第三部分:活躍性、性能與測試

第十章 避免活躍性危險鎖順序死鎖:定義鎖的順序,可以通過某種方法決定每個鎖的順序,比如hashcode或者序列號之類的在鎖的調用順序不是很明顯的情況下,在持有鎖的情況下調用其他外部方法一定要注意,可以通過開放調用,避免發生死鎖的危險,即使用

原创 MySQL索引背後的數據結構及算法原理

轉自:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 作者 張洋 | 發佈於 2011-10-18摘要本文以MySQL數據庫爲研究對象,討論與數據庫索引相關的一些

原创 linux高級權限(ACL與sudo)

ACL是Access Control List的縮寫,主要的目的是在提供傳統的owner,group,others的read,write,execute權限之外的局部權限設定。ACL可以針對單個用戶,單個文件或目錄來進行r,w,x的權限設定

原创 linux軟件安裝

1、源碼包開源,編譯安裝,甚至可以修改,卸載方便,安裝時間長,步驟太多,出錯很難解決2、RPM包(二進制包)源代碼看不到,安裝快,通過命令執行安裝,有依賴性RPM包一般在光盤裏面,模塊依賴性,很難解決,一般都安裝在默認安裝位置,搞得系統到處

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

在java開發中我們經常需要創建對象 ,我們常用的創建對象的方法有兩種 1  使用構造器來創建對象 如果有多個可變參數 ,就需要寫多個構造方法,這種方法在遇到多個參數時不好控制2. javabean的寫法,私有化成員變量, 私有構造方法 ,

原创 c3p0常用配置整理

最新博客:牧雲者 www.muyunzhe.com連接池基本配置initialPoolSize, minPoolSize, maxPoolSize定義了由池管理的連接數量。請確保minPoolSize<=maxPoolSize。不合理的in

原创 java併發編程實戰學習筆記之任務執行

第六章 任務執行6.1 在線程中執行任務串行-》多線程-》有限個多線程6.2 executor框架通過有界隊列可以防止高負荷程序過度消耗內存java.lang.concurrent提供了線程池作爲實現executor框架的一部分execut