原创 LCN分佈式事務框架解決分佈式事務一致性問題

LCN分佈式事務框架框架介紹LCN分佈式事務框架其本身並不創建事務,而是基於對本地事務的協調從而達到事務一致性的效果。核心步驟創建事務組是指在事務發起方開始執行業務代碼之前先調用TxManager創建事務組對象,然後拿到事務標示Group

原创 使用消息隊列解決分佈式事務一致性問題

如何可靠保存憑證(消息)  有兩種方法:業務與消息耦合的方式  支付寶在完成扣款的同時,同時記錄消息數據,這個消息數據與業務數據保存在同一數據庫實例裏(消息記錄表表名爲message);12345Begin transaction    

原创 兩階段提交協議、三階段提交協議解決分佈式事務一致性問題

一、分佈式數據一致性在分佈式系統中,爲了保證數據的高可用,通常會將數據保留多個副本(replica),這些副本會放置在不同的物理的機器上。1.什麼是數據一致性在數據有多份副本的情況下,如果網絡、服務器或者軟件出現故障,會導致部分副本寫入成

原创 Hashtable,HashMap,ConcurrentHashMap 底層實現原理與線程安全問題

術語定義術語英文解釋哈希算法hash algorithm是一種將任意內容的輸入轉換成相同長度輸出的加密方式,其輸出被稱爲哈希值。 哈希表hash table根據設定的哈希函數H(key)和處理衝突方法將一組關鍵字映象到一個有限的地址區間上

原创 HashMap初始容量與負載因子設置如何影響HashMap性能

下面是HashMap的一個構造函數,兩個參數initialCapacity,loadFactor這關係HashMap的迭代性能。 1 /** 2 * Constructs an empty <tt>HashMap</t

原创 ConcurrentHashMap在JDK7和JDK8中的不同實現原理

併發編程實踐中,ConcurrentHashMap是一個經常被使用的數據結構,相比於Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在線程安全的基礎上提供了更好的寫併發能

原创 WebSocket的Tomcat實現

一.WebSocket簡單介紹  隨着互聯網的發展,傳統的HTTP協議已經很難滿足Web應用日益複雜的需求了。近年來,隨着HTML5的誕生,WebSocket協議被提出,它實現了瀏覽器與服務器的全雙工通信,擴展了瀏覽器與服務端的通信功能,

原创 基於Antisamy項目實現防XSS攻擊

最近項目上線,請第三方公司進行了一次滲透性測試,被發現存在多處XSS攻擊。由於我們對於URL的Get請求已經通過URLFilter進行了特殊字符過濾,Get請求的漏洞已經被封堵,但是對於Post請求考慮到我們項目存在表單提交,富文本編輯等

原创 淺談 Nginx和LVS的各種優缺點

LVS的負載能力強,因爲其工作方式邏輯非常簡單,僅進行請求分發,而且工作在網絡的第4層,沒有流量,所以其效率不需要有過多的憂慮。LVS基本能支持所有應用,因爲工作在第4層,所以LVS可以對幾乎所有應用進行負載均衡,包括Web、數據庫等。注

原创 java對象池

單例模式是限制了一個類只能有一個實例,對象池模式則是限制一個類實例的個數。對象池類就像是一個對象管理員,它以Static列表(也就是裝對象的池子)的形式存存儲某個實例數受限的類的實例,每一個實例還要加一個標記,標記該實例是否被佔用。當類初

原创 Mybatis的幾點使用注意事項

1.Mapper層參數爲Map,由Service層負責重載。    Mapper由於機制的問題,不能重載,參數一般設置成Map,但這樣會使參數變得模糊,如果想要使代碼變得清晰,可以通過service層來實現重載的目的,對外提供的Servi

原创 activity工作流表結構分析

1、結構設計1.1、    邏輯結構設計Activiti使用到的表都是ACT_開頭的。ACT_RE_*:’RE’表示repository(存儲),RepositoryService接口所操作的表。帶此前綴的表包含的是靜態信息,如,流程定義

原创 基於Java NIO的即時聊天服務器模型

傳統的Socket是阻塞的,這樣的話服務器對每個Socket都需要建立一個線程來操作,資源開銷很大,而且線程多了直接會影響服務端的性能(曾經測試開了3000多個線程就不讓創建了,所以併發數目也是有限制的),聽說從JDK1.5就多了個New

原创 springmvc與Spring配置文件中掃描組件分開掃描和直接全掃描的區別

在主容器中(applicationContext.xml),將Controller的註解排除掉 <context:component-scan base-package="com">   <context:exclude-filter t

原创 WebSocket 實戰

WebSocket 前世今生衆所周知,Web 應用的交互過程通常是客戶端通過瀏覽器發出一個請求,服務器端接收請求後進行處理並返回結果給客戶端,客戶端瀏覽器將信息呈現,這種機制對於信息變化不是特別頻繁的應用尚可,但對於實時要求高、海量併發的