1 常用工具
JVisual vm
:可以直接通過軟件包下載,支持本地以及遠程JVM
監控JMH
:Java Microbenchmark Harness
,測試基准組件,精度可達納秒級JITWatch
:JIT
日志分析GUI
工具
2 日志庫
2.1 日志框架
JUL
:JDK
自帶日志庫,也就是java.util.logging
Log4j
/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
:一款高性能、多功能的模板處理引擎