1 常用工具
JVisual vm:可以直接通過軟件包下載,支持本地以及遠程JVM監控JMH:Java Microbenchmark Harness,測試基准組件,精度可達納秒級JITWatch:JIT日志分析GUI工具
2 日志庫
2.1 日志框架
JUL:JDK自帶日志庫,也就是java.util.loggingLog4j/Log4j2:Apache的一個開源項目,高度可配置Logback:開源日志組件
2.2 日志門面
JCL:Jakarta Commons Logging,Apache的一個開源項目slf4j:Simple Logging Facade for Java,常用的一個日志門面
3 JSON庫
Jackson:Spring默認JSON庫,使用廣泛Gson:Google開發的功能最全的JSON庫,無額外依賴FastJson:阿里出品的JSON庫,速度最快,但是在某些復雜類轉換上可能會出現問題JSONP:Oracle出品的JSON處理庫
4 單元測試庫
JUnit:一個強大的單元測試庫,基本上被所有主流IDE支持Selenium:UI測試工具TestNG:流行的單元測試框架Mockito:Mock框架之一,具有簡單的API、優秀的文檔以及大量示例Cucumber:一款自動化集成測試工具DBUnit:數據庫單元測試工具
5 通用類庫
Apache Commons:Apache開源的一款強大工具包,包括編解碼算法、集合擴展、IO庫、壓縮庫等Google Guava:Google開源的一個被Google Java項目廣泛依賴的核心庫,包括一些基本工具、集合擴展、緩存、並發工具包、字符串處理等
6 HTTP庫
HttpClient:Apache HttpComponents HttpClient,一款特性豐富的HTTP庫okhttp:一個高效的HTTP庫,使用連接池減少請求延遲,gzip壓縮減少響應數據大小,緩存響應內容Retrofit:一款類型安全的HTTP庫
7 XML解析庫
Xerces:Apache開源的解析庫JAXB:一項根據XML Schema生成Java類的技術Dom4j:一款靈活開源的XML框架XStream:一款XML序列化庫
8 Excel讀寫庫
Apache POI:提供API對Microsoft Office系列的產品的讀寫功能,包括Word、Excel、PowerPoint、Visio等
9 字節碼庫
BCEL:Byte Code Engineering Library,Apache開發的字節碼操作框架ASM:一個輕量級的字節碼操作框架CGLIB:一個強大、高性能、高質量的生成類庫Javassist:一個開源的分析、編輯和創建Java字節碼的類庫ReflactASM:通過代碼生成來提供高性能的反射處理庫,訪問類使用字節碼操作而不是反射技術
10 數據庫連接池庫
HikariCP:高性能數據庫連接池Druid:阿里開源的一款數據庫連接池庫,提供了強大的監控和擴展功能,可用於大數據實時查詢和分析DBCP2:Apache開發的一款數據庫連接池項目
11 PDF庫
Apache PDF Box:Apache開源的PDF庫iText:能夠快速產生PDF文件的PDF庫
12 日期時間庫
JDK8自帶的LocalDate等JodaTime:一款專門處理日期時間的庫
13 集合類庫
Apache Commons Collections:Apache Commons組件之一,提供一些常用集合的實現以及API封裝Google Collections:Google開發的一款強大的集合庫HPPC:High Performance Primitive Collections,一款專注高性能和高存儲效率優化的集合類庫Trove:GNU Trove,一款快速輕量級的集合框架FastUtil:一款Java集合框架
14 加密庫
Apache Commons Codec:編解碼以及加密處理庫BouncyCastle:提供了很多哈希算法和加密算法的第三方庫
15 HTML解析庫
jsoup:Java HTML解析器,能夠從URL、文件或字符串解析HTML
16 郵件庫
Simple Java Mail:一款使用強大且簡潔API的郵件庫Apache Commons Mail:建立在Java Mail API之上的郵件庫
17 序列化庫
MessagePack:一種二進制序列化格式,比JSON更為緊湊,編碼更精簡高效Protobuf:Google提供的多語言支持二進制序列化庫Apache Avro:Hadoop的一個子項目,支持二進制序列化方式kryo:快速高效的二進制序列化框架
18 緩存庫
Caffeine:高性能緩存工具,支持基於大小、基於時間、基於引用三種淘汰策略,同時擁有着高命中率的特點
19 其他庫
Selma:映射工具庫,最常用的操作是用來復制對象Beetl:一款高性能、多功能的模板處理引擎
