原创 CyclicBarrier的使用實例
CyclicBarrier允許給定數量的線程全部到達關卡點時,關卡就被成功突破,關卡被重置以備下一次使用。跟CountDownlatch特別類似,但是CountDownLatch不同的是不能被重新重置再使用。 前面的blog說到用co
原创 一些常用的軟件設計原則
在架構設計過程中,瞭解一些先輩們總結出來的常用的設計原則非常有用,在實踐過程中,結合這些理論,相信架構水平會有質的提升,就像是一本武功祕籍,在學的過程中遵循它的rule,你的武功自然就上去了。我真的感覺這些原則非常有用: 1.Don'
原创 LVS三種負載均衡模式之-網絡地址轉換
LVS全稱是Linux Virtual Service 1.通過NAT實現虛擬服務器(VS/NAT) 由於IPv4中IP地址空間的日益緊張和安全方面的原因,很多網絡使用保留IP地址(10.0.0.0/255.0.0.0、172.1
原创 設計模式-Facade模式
Facade模式 當軟件系統需要跟子系統進行復雜的交互時,爲了減少系統的交互從而簡化系統之間交互的目地,可以用外觀模式。 外觀模式用到了一個常用的規則:最小知識原則也叫迪米特原則,如果你的應用有很多類,並且他們有複雜的依賴關係,那
原创 數據庫事務隔離級別
數據在操作過程中,可能出現3個不確定的情況: 1.Dirty Reads(髒讀) 一個事務讀取了另外一個事務未提交的數據 2.Non-repeatable Reads(不可重複讀) 一個事務再次讀取之前曾經讀取過的數據時,發現改數據已
原创 使用LinkedHashMap構建LRU的Cache
這段時間好好整理了一下基礎,發現很多對我來說新的東西,裏面博大精深的東西真的很多,經常使用HashMap,對HashMap的結構和原理非常瞭解,但是忽略了還有LinkedHashMap這個好東西。 先轉一篇blog: Linked
原创 IBatisVSHibernate
下面是IBatis和Hibernate的比較,多年前做了個presentation,現在拿出來看一下:<!-- [if gte mso 9]><xml> License – Hibernate: LGPL – Ibatis:
原创 Garbage First - Card Table
之前一直以爲只是在Garbage First垃圾回收器中,有Card Table,終於在這篇文章中有些提示,讓我對Card Table的作用有了清晰的認識,對Garbage First基本上有所瞭解了,應該可以進行總結了。。。。。。
原创 設計模式-組合模式
組合模式的定義: 將對象組合成樹的形式來表示整體和局部之間的關係,使得客戶端對單個對象和組合對象的使用有了一致性。 適用場合: 1.需要表示一個對象整體或者局部的關係,在具有整體和部分的層次結構中,希望通過一種方式忽略整體和部分的
原创 設計模式-策略模式
定義一組算法,對每一種進行封裝,讓它們之間可以相互替換,可以獨立於客戶端程序而變化。
原创 Spring的七種事務傳播途徑和隔離級別
PROPAGATION_REQUIRED--支持當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。 PROPAGATION_SUPPORTS--支持當前事務,如果當前沒有事務,就以非事務方式執行。 PROPAGATION_
原创 設計模式-適配器模式
適配器模式: 系統之間集成,常由於接口之間不兼容,很多能滿足功能的軟件模塊,由於接口不同,而導致無法使用。在這種情況下可以使用適配器模式。 使用場合:當原來的類已經存在,但是不能一起工作,這個時候,適配器模式是個好的解決方案。 1.適
原创 CompleteService介紹和使用實例
當向Executor提交批處理任務時,並且希望在它們完成後獲得結果,如果用FutureTask,你可以循環獲取task,並用future.get()去獲取結果,但是如果這個task沒有完成,你就得阻塞在這裏,這個實效性不高,其實在很多場合
原创 LVS負載均衡(調度)算法-內核中的連接調度算法
此次主題主要講述LVS 負載均衡策略和算法,這裏面完全是羅列了章博士裏面的blog,屬於總結和轉發性質。 如何將請求流調度到各臺服務器,使得各臺服務器儘可能地保持負載均衡。文章主要由兩個部分組成。第一 部分描述IP 負載均衡軟件I
原创 sudo: /etc/sudoers.d/README is mode 0777, should be 0440
問題原因: 修改了sudo文件, 導致sudo權限在0640,或者sudo的配置格式錯誤。因此,要把sudo權限更改回0440。 所以呢,修改sudo,請用命令visudo。 http://blog.csdn.net/chz870