Best Practise(JDK API)
一些常用的代碼示例,經驗
源碼實現實時獲取Java堆內存信息
摘要: 如果大家有遇到過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) 編輯
JDK 并發API學習筆記之CyclicBarrier同步器
摘要: CyclicBarrier一個同步輔助類,它允許一組線程互相等待,直到到達某個公共屏障點 (common barrier point)。假如在涉及一組固定大小的線程的程序應用中,要求這些線程必須不時地互相等待(保證所有線程都執行完畢才返回),那么選擇 CyclicBarrier 就會讓這個實現變得非常容易。CyclicBarrier 在釋放等待線程后可以重用,所以又稱它為循環 的 barrier。
閱讀全文
posted @
2012-06-28 13:34 x.matthew 閱讀(2754) |
評論 (1) 編輯
LRUMap 源代碼實現解讀
摘要: 本文通過對Apache Commons Collections 項目中LRUMap這個集合類的源代碼進行詳細解讀,為幫助大家更好的了解這個集合類的實現原理以及使用如何該集合類。
首先介紹一下LRU算法. LRU是由Least Recently Used的首字母組成,表示最近最少使用的含義,一般使用在對象淘汰算法上。也是比較常見的一種淘汰算法。
閱讀全文
posted @
2012-06-28 13:34 x.matthew 閱讀(5854) |
評論 (1) 編輯
Thrift學習筆記(原創)
摘要: Thrift出自Facebook用于后臺各個服務間的通訊,Thrift的設計強調統一的編程接口的多語言通訊框架.
本文通過一個實例來介紹一下Thrift最基本的應用。
閱讀全文
posted @
2011-11-12 18:57 x.matthew 閱讀(17898) |
評論 (4) 編輯
如何做到API兼容(轉載)
摘要: 本文主要介紹什么是API,以及API兼容的重要性,最終給出方案如何評估API,以及如何做到API兼容。
閱讀全文
posted @
2011-07-29 19:35 x.matthew 閱讀(578) |
評論 (0) 編輯
Tomcat7 StuckThreadDetectionValve 功能分析
摘要: 本月Tomcat 7.0.14版本正式發布,其最顯著的一個新功能就是引入了StuckThreadDetectionValve功能,該功能可以幫助分析和檢查耗時的請求或潛在可能會出現請求線程阻塞等情況
閱讀全文
posted @
2011-05-25 21:51 x.matthew 閱讀(3059) |
評論 (4) 編輯
Java IO部分的學習筆記
摘要: 針對 JDK IO部分整理的類圖
閱讀全文
posted @
2009-06-13 10:38 x.matthew 閱讀(3423) |
評論 (6) 編輯
svenson, 一個用于生成和解析JSON數據格式的Java5開源類庫
摘要: svenson是一個用于生成和解析JSON數據格式的Java5開源類庫。它能夠將JSON數據集轉換成Java對象或相反的操作。
閱讀全文
posted @
2008-12-29 21:35 x.matthew 閱讀(3118) |
評論 (0) 編輯
Java對象XML序列化框架-Simple2.0
摘要: Simple是一個XML序列化框架,一個Java版本寬容的序列化框架,能夠快速在Java平臺上開發XML。支持通過annotations完全配置化的XML結構;提供版本管理框架允許向前和向后兼容序列化;更好的性能,使用輕量級StAX提升XML反序列化進程,比XStream和JAXB更快;通過namespace annotations提供完全的命名空間支持;包括XML模板系統
閱讀全文
posted @
2008-12-10 20:16 x.matthew 閱讀(3830) |
評論 (1) 編輯
使用ftp4j類來實現FTP操作
摘要: ftp4j是一個FTP客戶端Java類庫,實現了FTP客戶端應具有的大部分功能。可以將ftp4j嵌到你的Java應用中,來傳輸文件(包括上傳和下載),瀏覽遠程FTP服務器上的目錄和文件,創建、刪除、重命,移動遠程目錄和文件。ftp4j提供多種方式連接到遠程FTP服務器包括:通過 TCP/IP直接連接,通過FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理連接,通過SSL安全連接。
閱讀全文
posted @
2008-12-01 08:13 x.matthew 閱讀(7732) |
評論 (8) 編輯
使用cobertura來測量單元測試的代碼覆蓋情況
摘要: Cobertura是一個基于jcoverage的免費Java工具,它能夠顯示哪一部分代碼被你的測試所覆蓋,并可生成HTML或XML報告. 本文將介紹如何在項目中使用cobertura來測量單元測試的代碼覆蓋情況.
閱讀全文
posted @
2008-11-25 22:47 x.matthew 閱讀(4545) |
評論 (4) 編輯
Java Base64類庫學習筆記
摘要: Java Base64 這是一個用于編碼和解碼(encode/decode )base64字符串和數據流的Java開源類庫。Base64是網絡上最常見的用于傳輸8Bit字節代碼的編碼方式之一。可用來作為電子郵件或WebService附件的傳輸編碼.
閱讀全文
posted @
2008-11-25 20:23 x.matthew 閱讀(10280) |
評論 (0) 編輯
JSON taglib學習筆記
摘要: JSON-taglib 是 JSP 2.0 標簽庫,用于生產 JSON (JavaScript Object Notation) 數據結構。
閱讀全文
posted @
2008-11-03 19:30 x.matthew 閱讀(2332) |
評論 (0) 編輯
Java工具類學習筆記
摘要: 本人早期整理的Java工具類學習筆記
閱讀全文
posted @
2008-10-25 20:21 x.matthew 閱讀(4100) |
評論 (7) 編輯
Full Best Practise(JDK API) Archive