commons jar包_常用的 jar 包都在这里了

184a2c6151222508e8a49316df66ae45.png

题外话

今天是母亲节,在这里提醒大家记得给自己的母亲送祝福哦!!!

背景

在 Java 开发工作中,我们接触了很多的 Jar 包,也使用了很多第三方 Jar 包,为了帮助大家统计整理,方便大家查找,故通过该文章来进行一次总结。

commons-lang

该工具包可以看成是对 java.lang 的扩展。提供了诸如 StringUtils, StringEscapeUtils, RandomStringUtils, Tokenizer, WordUtils 等工具类。

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->

commons-collections

该工具包看成是 java.util 的扩展,大大简化了我们对 Java 集合的使用。

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->

commons-math

该工具包专注于做数学工具,功能强大。

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->

commons-compress

该工具包是一个压缩、解压缩文件的类库。可以操作ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200 and bzip2格式的文件,功能比较强大。

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->

commons-io

该工具包可以看成是http://java.io的扩展,让我们对文件操作更加方便。

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->

commons-fileupload

该工具包封装了文件上传下载组件。

<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->

commons-pool

Java 中创建新的对象并初始化的操作,可能会消耗很多的时间。工作中如果需要频繁创建并使用这些对象的场景中,为了提供系统性能,通常的做法是,创建一个对象池,将一定数量的对象缓存到这个对象池中。需要使用时直接从对象池中取出对象,使用完后将对象扔回到对象池中即可。

Apache的commons pool组件是实现对象池技术的良好助手。

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->

HttpClient

该工具包封装了 Http 网络请求,使大家更方便地通过编程去实现网络请求交互。

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->

OkHttp

以下是 OkHttp 的官网介绍。

OkHttp is an HTTP client that’s efficient by default:

  • HTTP/2 support allows all requests to the same host to share a socket.
  • Connection pooling reduces request latency (if HTTP/2 isn’t available).
  • Transparent GZIP shrinks download sizes.
  • Response caching avoids the network completely for repeat requests.

OkHttp是一个高效的HTTP客户端,它有以下默认特性:

  • 支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接。
  • 连接池减少请求延时。(在 HTTP/2 不可用的情况下)
  • 透明的GZIP压缩减少响应数据的大小。
  • 缓存响应内容,避免一些完全重复的请求。
<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->

RxJava

开源地址

Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

JVM响应式扩展类库——一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库。

RxJava 使用观察者模式,让异步编程变得更简洁。

<!-- https://mvnrepository.com/artifact/io.reactivex.rxjava2/rxjava -->

Guava

Guava 是 Google 的工具类,提供字符串处理,I/O,集合类相关操作。

JDK8 里面的很多实现,其实在 Guava 里面都实现过,一个非常优秀的库,推荐去看看源码实现。

Guava的优点:

  • 高效设计良好的API,被Google的开发者设计,实现和使用。
  • 遵循高效的java语法实践。
  • 使代码更优秀,简洁,简单。
  • 节约时间,资源,提高生产力。
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->

hutool

开源地址

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;

Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。

<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->

Netty

开源地址

Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.

Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。

非常优秀的源码,推荐看源码。我最近也在花时间看这部分源码,受益匪浅。

<!-- https://mvnrepository.com/artifact/io.netty/netty-all -->

poi

Excel、Word、PPT 等开发工具类。

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->

commons-csv

如果只是操作 CSV 文件的话,建议使用该文件。

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv -->

讨论

大家有更多优秀工具类,欢迎在下方讨论。

更多优质文章,关注公众号。

b1f17f06ba3123f701346814b718dc05.png
Tommy 学习录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值