Java常用工具+类库合集

1、常用工具

  • JVisual vm:可以直接通过软件包下载,支持本地以及远程JVM监控
  • JMHJava Microbenchmark Harness,测试基准组件,精度可达纳秒级
  • JITWatchJIT日志分析GUI工具

2、日志库

2.1 日志框架

  • JULJDK自带日志库,也就是java.util.logging
  • Log4j/Log4j2Apache的一个开源项目,高度可配置
  • Logback:开源日志组件

2.2 日志门面

  • JCLJakarta Commons LoggingApache的一个开源项目
  • slf4jSimple Logging Facade for Java,常用的一个日志门面

3 、JSON

  • JacksonSpring默认JSON库,使用广泛
  • GsonGoogle开发的功能最全的JSON库,无额外依赖
  • FastJson:阿里出品的JSON库,速度最快,但是在某些复杂类转换上可能会出现问题
  • JSONPOracle出品的JSON处理库

4、单元测试库

  • JUnit:一个强大的单元测试库,基本上被所有主流IDE支持
  • SeleniumUI测试工具
  • TestNG:流行的单元测试框架
  • MockitoMock框架之一,具有简单的API、优秀的文档以及大量示例
  • Cucumber:一款自动化集成测试工具
  • DBUnit:数据库单元测试工具

5、通用类库

使用参考:https://www.bilibili.com/video/BV1gg4y1v7Mi

  • Apache Commonshttp://commons.apache.org/ ):Apache开源的一款强大工具包,包括编解码算法、集合扩展、IO库、压缩库等

  • Google Guavahttps://github.com/google/guava/wiki ):Google开源的一个被Google Java项目广泛依赖的核心库,包括一些基本工具、集合扩展、缓存、并发工具包、字符串处理等,

  • Hutoolhttps://hutool.cn/docs/#/ ):Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;

  • Lombokhttps://projectlombok.org/ ):Lombok 是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。

6、HTTP

  • HttpClientApache HttpComponents HttpClient,一款特性丰富的HTTP

https://www.cnblogs.com/achengmu/p/11075007.html

  • okhttp:一个高效的HTTP库,使用连接池减少请求延迟,gzip压缩减少响应数据大小,缓存响应内容
  • Retrofit:一款类型安全的HTTP

7、XML解析库

  • XercesApache开源的解析库
  • JAXB:一项根据XML Schema生成Java类的技术
  • Dom4j:一款灵活开源的XML框架
  • XStream:一款XML序列化库

8、Excel读写库

  • Apache POI:提供APIMicrosoft Office系列的产品的读写功能,包括Word、Excel、PowerPoint、Visio

9、字节码库

  • BCELByte Code Engineering LibraryApache开发的字节码操作框架
  • ASM:一个轻量级的字节码操作框架
  • CGLIB:一个强大、高性能、高质量的生成类库
  • Javassist:一个开源的分析、编辑和创建Java字节码的类库
  • ReflactASM:通过代码生成来提供高性能的反射处理库,访问类使用字节码操作而不是反射技术

10、数据库连接池库

  • HikariCP:高性能数据库连接池
  • Druid:阿里开源的一款数据库连接池库,提供了强大的监控和扩展功能,可用于大数据实时查询和分析
  • DBCP2Apache开发的一款数据库连接池项目

11、PDF

<dependency>
    <groupId>wiki.xsx</groupId>
    <artifactId>x-easypdf</artifactId>
    <version>2.0.0</version>
</dependency>
  • Apache PDF BoxApache开源的PDF
  • iText:能够快速产生PDF文件的PDF

12、日期时间库

<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 CollectionsApache Commons组件之一,提供一些常用集合的实现以及API封装
  • Google CollectionsGoogle开发的一款强大的集合库
  • HPPCHigh Performance Primitive Collections,一款专注高性能和高存储效率优化的集合类库
  • TroveGNU Trove,一款快速轻量级的集合框架
  • FastUtil:一款Java集合框架

14、加密库

  • Apache Commons Codec:编解码以及加密处理库
  • BouncyCastle:提供了很多哈希算法和加密算法的第三方库

15、HTML解析库

  • jsoupJava HTML解析器,能够从URL、文件或字符串解析HTML

16、邮件库

  • Simple Java Mail:一款使用强大且简洁API的邮件库
  • Apache Commons Mail:建立在Java Mail API之上的邮件库

17、序列化库

  • MessagePack:一种二进制序列化格式,比JSON更为紧凑,编码更精简高效
  • Protobuf Google提供的多语言支持二进制序列化库
  • Apache AvroHadoop的一个子项目,支持二进制序列化方式
  • kryo:快速高效的二进制序列化框架

18、缓存库

  • Caffeine:高性能缓存工具,支持基于大小、基于时间、基于引用三种淘汰策略,同时拥有着高命中率的特点

19、其他库

  • Selma:映射工具库,最常用的操作是用来复制对象
  • Beetl:一款高性能、多功能的模板处理引擎
posted @ 2021-04-21 00:15  黄河大道东  阅读(707)  评论(0)    收藏  举报