Java常用工具+类库合集
目录
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
(http://commons.apache.org/):Apache
开源的一款强大工具包,包括编解码算法、集合扩展、IO
库、压缩库等 -
Google Guava
(https://github.com/google/guava/wiki):Google
开源的一个被Google Java
项目广泛依赖的核心库,包括一些基本工具、集合扩展、缓存、并发工具包、字符串处理等, -
Lombok
(https://projectlombok.org/):Lombok 是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的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
库
<dependency>
<groupId>wiki.xsx</groupId>
<artifactId>x-easypdf</artifactId>
<version>2.0.0</version>
</dependency>
Apache PDF Box
:Apache
开源的PDF
库iText
:能够快速产生PDF
文件的PDF
库
12、日期时间库
xk-time
:第三方时间类库挺好用的;
https://mp.weixin.qq.com/s/gh3ppChcuB1lcyAgeNBiLA
<dependency>
<groupId>com.github.xkzhangsan</groupId>
<artifactId>xk-time</artifactId>
<version>3.0.1</version>
</dependency>
项目开源地址:https://gitee.com/xkzhangsan/xk-time
JodaTime
:一款专门处理日期时间的库JDK8
自带的LocalDate
等
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
:一款高性能、多功能的模板处理引擎