
2011年4月29日
摘要: 1. Springboot config示例與原理介紹1.1 Springboot config示例Springboot給我們提供了非常便捷與方便的配置使用方式,常用的使用示例有以下兩種:1)使用@ConfigurationProperties 讀取多個屬性使用方法:@ConfigurationProperties(prefix = "spring.datasource")使用說明:提供...
閱讀全文
posted @
2021-04-08 20:00 x.matthew 閱讀(537) |
評論 (0) |
編輯 收藏
摘要: jprotobuf-rpc-http 是應用jprotobuf類庫實現基于http協議的RPC開發組件。 目前1.0提供可以直接把Google protobuf的IDL定義語言發布成RPC服務,客戶端也可以直接應用IDL定義語言進行動態創建,幫助開發完全省去了手工編譯protobuf IDL語言的麻煩。
閱讀全文
posted @
2014-10-10 15:20 x.matthew 閱讀(3549) |
評論 (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 閱讀(4909) |
評論 (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 閱讀(6319) |
評論 (9) |
編輯 收藏
摘要: CyclicBarrier一個同步輔助類,它允許一組線程互相等待,直到到達某個公共屏障點 (common barrier point)。假如在涉及一組固定大小的線程的程序應用中,要求這些線程必須不時地互相等待(保證所有線程都執行完畢才返回),那么選擇 CyclicBarrier 就會讓這個實現變得非常容易。CyclicBarrier 在釋放等待線程后可以重用,所以又稱它為循環 的 barrier。
閱讀全文
posted @
2012-06-28 13:34 x.matthew 閱讀(2754) |
評論 (1) |
編輯 收藏
摘要: 本文通過對Apache Commons Collections 項目中LRUMap這個集合類的源代碼進行詳細解讀,為幫助大家更好的了解這個集合類的實現原理以及使用如何該集合類。
首先介紹一下LRU算法. LRU是由Least Recently Used的首字母組成,表示最近最少使用的含義,一般使用在對象淘汰算法上。也是比較常見的一種淘汰算法。
閱讀全文
posted @
2012-06-28 13:34 x.matthew 閱讀(5854) |
評論 (1) |
編輯 收藏
摘要: Treap=Tree+Heap。Treap本身是一棵二叉搜索樹,它的左子樹和右子樹也分別是一個Treap,和一般的二叉搜索樹不同的是,Treap記錄一個額外的數據,就是優先級。Treap在以關鍵碼構成二叉搜索樹的同時,還按優先級來滿足堆的性質(在這里我們假設節點的優先級大于該節點的孩子的優先級)。但是這里要注意的是Treap和二叉堆有一點不同,就是二叉堆必須是完全二叉樹,而Treap可以并不一定是。
閱讀全文
posted @
2012-05-16 14:37 x.matthew 閱讀(4294) |
評論 (0) |
編輯 收藏
摘要: 對于Mybatis 擁有的Lazy Load(有中文翻譯成延遲加載)功能,應該很同學都有聽說過,今天主要與大家一起來解讀一下Mybatis在Lazy Load功能的實現的代碼。Lazy Load實現的功能很好理解,就是在數據與對象進行Mapping操作時,只有當真正使用該對象時,才進行Mapping操作,以減少不必要的數據庫查詢開銷,從而提升了程序的效率。
閱讀全文
posted @
2011-12-29 19:14 x.matthew 閱讀(5037) |
評論 (1) |
編輯 收藏
摘要: Thrift出自Facebook用于后臺各個服務間的通訊,Thrift的設計強調統一的編程接口的多語言通訊框架.
本文通過一個實例來介紹一下Thrift最基本的應用。
閱讀全文
posted @
2011-11-12 18:57 x.matthew 閱讀(17898) |
評論 (4) |
編輯 收藏
摘要: JDK Proxy AOP實現與Cglib Proxy AOP實現對比。
閱讀全文
posted @
2011-10-10 19:24 x.matthew 閱讀(5022) |
評論 (1) |
編輯 收藏
摘要: 在SQL開發過程中,動態構建In集合條件查詢是比較常見的用法,在Mybatis中提供了foreach功能,該功能比較強大,但由于官方文檔對這塊的使用,描述的比較簡短,細節上也被忽略掉了(可能是開源項目文檔一貫的問題吧),也使用不少同學在使用中遇到了問題。特別是foreach這個函數中,collection屬性做什么用,有什么注意事項。由于文檔不全,這塊只能通過源代碼剖析的方式來分析一下各個屬性的相關要求。
閱讀全文
posted @
2011-08-31 14:38 x.matthew 閱讀(50562) |
評論 (4) |
編輯 收藏
摘要: 本文主要介紹什么是API,以及API兼容的重要性,最終給出方案如何評估API,以及如何做到API兼容。
閱讀全文
posted @
2011-07-29 19:35 x.matthew 閱讀(578) |
評論 (0) |
編輯 收藏
摘要: Spring聲明式事務功能應該是大家應用Spring中使用的最多的功能之一了,的確該功能極大的簡化了大家對數據庫操作的。目前Spring支持的聲明式事務有兩個配置方式,一種是XML配置方式,另一種是注解方式
針對配置這塊,XML配置同學們會覺得比較麻煩,特別是針對事務屬性的配置,所以補充一下本塊配置說明,特分享給大家,希望對大家有幫助。
閱讀全文
posted @
2011-06-23 13:25 x.matthew 閱讀(4387) |
評論 (3) |
編輯 收藏
摘要: 本月Tomcat 7.0.14版本正式發布,其最顯著的一個新功能就是引入了StuckThreadDetectionValve功能,該功能可以幫助分析和檢查耗時的請求或潛在可能會出現請求線程阻塞等情況
閱讀全文
posted @
2011-05-25 21:51 x.matthew 閱讀(3059) |
評論 (4) |
編輯 收藏
摘要: 本文章會通過連載的方式來深入了解和學習Spring相關核心技術和實現原理。包括Spring的Bean生命周期管理,聲明性事務管理,AOP管理,注解應用實現,以及在其上面進行擴展的相關應用。
本篇技術文章將介紹Spring聲明式事務管理實現技術細節的剖析。
閱讀全文
posted @
2011-04-29 10:54 x.matthew 閱讀(2186) |
評論 (1) |
編輯 收藏
摘要: 講起靜態代碼分析工具,估計大家耳熟能詳的都能講出幾個來,像PMD, Checkstyle, Findbug等。沒錯這些都是我們日常編碼代碼時用于提升我們代碼質量的好工具,本文將從PMD工具實現的規則出發,通過這些規則的定義來學習一下代碼優化的技巧,希望通過這些技巧的介紹可以幫助大家在編碼過程中提升大家的代碼編寫質量。同時也算給大家介紹一個比較不錯的途徑去學習改進代碼編寫質量的方法。
閱讀全文
posted @
2011-04-29 10:54 x.matthew 閱讀(2360) |
評論 (2) |
編輯 收藏