
2011年10月10日
摘要: 1. Springboot config示例與原理介紹1.1 Springboot config示例Springboot給我們提供了非常便捷與方便的配置使用方式,常用的使用示例有以下兩種:1)使用@ConfigurationProperties 讀取多個屬性使用方法:@ConfigurationProperties(prefix = "spring.datasource")使用說明:提供...
閱讀全文
posted @
2021-04-08 20:00 x.matthew 閱讀(536) |
評論 (0) |
編輯 收藏
摘要: jprotobuf-rpc-http 是應用jprotobuf類庫實現基于http協議的RPC開發組件。 目前1.0提供可以直接把Google protobuf的IDL定義語言發布成RPC服務,客戶端也可以直接應用IDL定義語言進行動態創建,幫助開發完全省去了手工編譯protobuf IDL語言的麻煩。
閱讀全文
posted @
2014-10-10 15:20 x.matthew 閱讀(3548) |
評論 (0) |
編輯 收藏
摘要: JProtobuf官方網址:https://github.com/jhunters/jprotobuf
1.0.0 支持普通類型,嵌套對象以及對象數組的Protobuf協議的序列化與反序列化實現。(注解替換proto描述文件)
1.0.1 由注解對象動態生成Protobuf的IDL描述文件內容。
1.0.3 增加由.proto 描述文件動態生成Protobuf操作對象的支持,詳見下面使用說明。
閱讀全文
posted @
2014-09-30 11:43 x.matthew 閱讀(4908) |
評論 (4) |
編輯 收藏
摘要: 如果大家有遇到過Java內存泄露問題,而且親自動手去定位和分析經歷的同學來講,獲取Java的堆內信息對了內存使用情況的問題分析和定位是非常有幫助了。例如我們常用的MAT工具,可以較方便的讓我們定位程序中內存的使用情況,是哪塊導致了內存的泄露等。
但由于傳統的分析過程比較麻煩,需要使用Jdk的jmap(Java Memory Map)命令把heap內存dump到一個文件,然后用MAT進行分析。所以本文介紹一種方法可以實現在線查看heap內存的使用情況,并附上源碼實現,希望對大家有幫助。由于目前調研中只找到了Sun JDK6以及以上版本的實現,所以目前該方案只支持Sun JDK6或以上。如果其他同學有其它版本的JDK實現分享,歡迎一起交流。
閱讀全文
posted @
2013-02-20 16:30 x.matthew 閱讀(6317) |
評論 (9) |
編輯 收藏
摘要: CyclicBarrier一個同步輔助類,它允許一組線程互相等待,直到到達某個公共屏障點 (common barrier point)。假如在涉及一組固定大小的線程的程序應用中,要求這些線程必須不時地互相等待(保證所有線程都執行完畢才返回),那么選擇 CyclicBarrier 就會讓這個實現變得非常容易。CyclicBarrier 在釋放等待線程后可以重用,所以又稱它為循環 的 barrier。
閱讀全文
posted @
2012-06-28 13:34 x.matthew 閱讀(2753) |
評論 (1) |
編輯 收藏
摘要: 本文通過對Apache Commons Collections 項目中LRUMap這個集合類的源代碼進行詳細解讀,為幫助大家更好的了解這個集合類的實現原理以及使用如何該集合類。
首先介紹一下LRU算法. LRU是由Least Recently Used的首字母組成,表示最近最少使用的含義,一般使用在對象淘汰算法上。也是比較常見的一種淘汰算法。
閱讀全文
posted @
2012-06-28 13:34 x.matthew 閱讀(5853) |
評論 (1) |
編輯 收藏
摘要: Treap=Tree+Heap。Treap本身是一棵二叉搜索樹,它的左子樹和右子樹也分別是一個Treap,和一般的二叉搜索樹不同的是,Treap記錄一個額外的數據,就是優先級。Treap在以關鍵碼構成二叉搜索樹的同時,還按優先級來滿足堆的性質(在這里我們假設節點的優先級大于該節點的孩子的優先級)。但是這里要注意的是Treap和二叉堆有一點不同,就是二叉堆必須是完全二叉樹,而Treap可以并不一定是。
閱讀全文
posted @
2012-05-16 14:37 x.matthew 閱讀(4293) |
評論 (0) |
編輯 收藏
摘要: 對于Mybatis 擁有的Lazy Load(有中文翻譯成延遲加載)功能,應該很同學都有聽說過,今天主要與大家一起來解讀一下Mybatis在Lazy Load功能的實現的代碼。Lazy Load實現的功能很好理解,就是在數據與對象進行Mapping操作時,只有當真正使用該對象時,才進行Mapping操作,以減少不必要的數據庫查詢開銷,從而提升了程序的效率。
閱讀全文
posted @
2011-12-29 19:14 x.matthew 閱讀(5036) |
評論 (1) |
編輯 收藏
摘要: Thrift出自Facebook用于后臺各個服務間的通訊,Thrift的設計強調統一的編程接口的多語言通訊框架.
本文通過一個實例來介紹一下Thrift最基本的應用。
閱讀全文
posted @
2011-11-12 18:57 x.matthew 閱讀(17897) |
評論 (4) |
編輯 收藏
摘要: JDK Proxy AOP實現與Cglib Proxy AOP實現對比。
閱讀全文
posted @
2011-10-10 19:24 x.matthew 閱讀(5021) |
評論 (1) |
編輯 收藏