原创 web安全總結
最近被公司強迫本鳥研究安全,沒辦法,看了一個月的資料,mark總結下。安全問題 解決方案 推薦工具 xss跨站腳本攻擊 1.給關鍵cookie加上httponly屬性,js將無法訪問 2.對html標籤、css標籤、url地址等處用
原创 ibatis批量插入對象list
INSERT INTO t_hotel_bedtype <trim prefix="(" suffix=")" suffixOverrides=","> uid,bedtypeid,defaultocc
原创 spring aop 原理
spring AOP兩種實現機制是什麼?動態代理技術 1.如果是有接口聲明的類進行AOP 時,spring調用的是Java.lang.reflection.Proxy 類來做處理 2.如果是沒有接口聲明的類時, spring通過c
原创 負載均衡 集羣
負載均衡的源地址哈希(Hash)法:(各種具體實現參考:http://www.cnblogs.com/szlbm/p/5588555.html) 接受外來請求,怎麼分配到集羣中的某個服務器 負載均衡根據客
原创 hashmap原理
數組是棧,佔用內存大,鏈表是堆,數組讀取快,鏈表增刪快 HashMap底層就是一個數組結構,數組中的每一項又是一個鏈表。當新建一個HashMap的時候,就會初始化一個數組。 當我們往HashMap中put元素的時候,先根據key的h
原创 activeMQ 的2種消息機制
mq:點對點, 發佈/訂閱 JMS規範目前支持兩種消息模型:點對點(point to point, queue)和發佈/訂閱(publish/subscribe,topic)。 點對點: 消息生產者生
原创 memcached的安裝及使用
Cmd 到memcached根目錄 1、安裝 memcached.exe –d install 2、啓動 memcached.exe -d start 此時memcached已經註冊爲開機啓動服務 完成安裝。 互聯網項目開發目前比較流
原创 @Transactional
事務(Transaction)是併發控制的單位,是用戶定義的一個操作序列。這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。 SpringMVC中的事務註解 @Transactional就是爲了方法執行中的對數據庫操作事務的完整
原创 併發異步處理
異步: @async 併發設計模式包括Future ,“回調驅動(多線程環境下)”、“/** * 保存日誌 * @param log * @param msg *
原创 servlert中處理spring Bean
public class InitServlet extends HttpServlet { private static final long serialVersionUID = - 5826096764263027718L;
原创 jaxb classes 生成
elipse右擊xsd文件,選擇generate jaxb classes
原创 分佈式高併發系統如何保證對外接口的冪等性?
要做到冪等性,從接口設計上來說不設計任何非冪等的操作即可。 譬如說需求是: 當用戶點擊贊同時,將答案的贊同數量+1。 改爲: 當用戶點擊贊同時,確保答案贊同表中存在一條記錄,用戶、答案。 贊同數量由答案贊同表統計出來。 zookeepe
原创 多線程對各種變量共享
靜態變量:線程非安全。 靜態變量即類變量,位於方法區,爲所有對象共享,共享一份內存,一旦靜態變量被修改,其他對象均對修改可見,故線程非安全。 實例變量:單例模式(只有一個對象實例存在)線程非安全,非單例線程安全。 實例變量爲對
原创 樂觀鎖和悲觀鎖 對多併發處理
樂觀鎖(Optimistic Lock), 顧名思義,就是很樂觀,每次去拿數據的時候都認爲別人不會修改,所以不會上鎖,但是在更新的時候會判斷一下在此期間別人有沒有去更新這個數據,可以使用版本號等機制。樂觀
原创 hibernate
Hibernate 的延遲加載lazy: true false proxy 這種延遲加載保證了應用只有在需要時纔去數據庫中抓取相應的記錄。通過延遲加載技術可以避免過多、過早地加載數據表裏的數據,從而降低應用的內存開銷。 Hibern