原创 Guava學習筆記:EventBus

http://www.cnblogs.com/peida/p/EventBus.html EventBus是Guava的事件處理機制,是設計模式中的觀察者模式(生產/消費者編程模型)的優雅實現。對於事件監聽和發佈訂閱模式,Even

原创 maven的模塊劃分

所有用Maven管理的真實的項目都應該是分模塊的,每個模塊都對應着一個pom.xml。它們之間通過繼承和聚合(也稱作多模塊,multi-module)相互關聯。那麼,爲什麼要這麼做呢?我們明明在開發一個項目,劃分模塊後,導入Eclips

原创 mysql分庫分表

單庫單表 單庫單表是最常見的數據庫設計,例如,有一張用戶(user)表放在數據庫db中,所有的用戶都可以在db庫中的user表中查到。 單庫多表 隨着用戶數量的增加,user表的數據量會越來越大,當數據量達到一定程度的時候對user表的查

原创 eclipse clean後不能自動編譯生成class文件的問題

   最近在項目項目開發過程中遇到eclipse執行clean後不能自動編譯生成class文件,當時很納悶,每次修改代碼後運行都是修改前的效果,沒轍了,只好反編譯原來的class文件,結果發現,class文件裏並沒有看到修改好的代碼,所

原创 5分鐘瞭解mockito

一、什麼是mock測試,什麼是mock對象?   先來看看下面這個示例: 從上圖可以看出如果我們要對A進行測試,那麼就要先把整個依賴樹構建出來,也就是BCDE的實例。   一種替代方案就是使用mocks

原创 Java序列化

序列化:將java對象轉換爲字節序列的過程叫做序列化 反序列化:將字節對象轉換爲java對象的過程叫做反序列化 通常情況下,序列化有兩種用途:、 1) 把對象的字節序列永久的保存在硬盤中 2)在網絡上傳輸對象的字節序列 只有實

原创 memcache redis

數據類型 redis數據類型豐富,支持set liset等類型 memcache支持簡單數據類型,需要客戶端自己處理複雜對象 持久性 redis支持數據落地持久化存儲 memcache不支持數據持久存儲 分佈式存儲 red

原创 Fiddler簡介

1.爲什麼是Fiddler? 抓包工具有很多,小到最常用的web調試工具firebug,達到通用的強大的抓包工具wireshark.爲什麼使用fiddler?原因如下: a.Firebug雖然可以抓包,但是對於分析http請求的詳細

原创 Mybatis緩存

MyBatis緩存介紹   正如大多數持久層框架一樣,MyBatis 同樣提供了一級緩存和二級緩存的支持 一級緩存: 基於PerpetualCache 的 HashMap本地緩存,其存儲作用域爲 Session,當 Session

原创 異步回調和同步回調

異步回調就是發起請求後,不等待響應就先去處理自己的響應,它不是處理整個請求,只是處理一小部分,在Web頁上就表現爲頁面沒刷新,卻局部更新了數據。 相對於同步就是必須等到響應該請求後才能做別的事,具體到Web頁就是整個頁面刷新了,數據才更新

原创 深入理解Java:註解(Annotation)--註解處理器

深入理解Java:註解(Annotation)--註解處理器   如果沒有用來讀取註解的方法和工作,那麼註解也就不會比註釋更有用處了。使用註解的過程中,很重要的一部分就是創建於使用註解處理器。Java SE5擴展了反射機制的AP

原创 分佈式集羣系統下的高可用session解決方案

分佈式集羣系統下的高可用session解決方案 - 目前,爲了使web能適應大規模的訪問,需要實現應用的集羣部署. 而實現集羣部署首先要解決session的統一,即需要實現session的共享機制。  目前,在集羣系統下實現ses

原创 Netty使用protobuf作爲通信協議

Netty中使用protobuf 環境準備 下載protoc代碼生成器和源碼包:http://code.google.com/p/protobuf/downloads/list, protobuf-2.4.1.tar.bz

原创 zookeeper原理與應用

雲計算越來越流行的今天,單一機器處理能力已經不能滿足我們的需求,不得不採用大量的服務集羣。服務集羣對外提供服務的過程中,有很多的配置需要隨時更新,服務間需要協調工作,這些信息如何推送到各個節點?並且保證信息的一致性和可靠性? 衆所周知

原创 tair分佈式緩存

簡介 tair 是淘寶自己開發的一個分佈式 key/value 存儲引擎. tair 分爲持久化和非持久化兩種使用方式. 非持久化的 tair 可以看成是一個分佈式緩存. 持久化的 tair 將數據存放於磁盤中. 爲了解決磁盤損壞導