0

0

Java开发中常用的工具类库有哪些

王林

王林

发布时间:2023-04-20 11:16:12

|

2260人浏览过

|

来源于亿速云

转载

Java开发过程中的常用工具类库

Apache Commons类库

Apache?Commons是一个非常有用的工具包,为解决各种实际的问题提供了通用现成的代码,不需要我们程序员再重复造轮子。关于这个类库的详细介绍可以访问官网介绍。下面表格列出了部分的工具包。我们平时开发过程中可以根据自己的需要挑选合适的工具包。

Components Description Latest Version Released
BCEL Byte Code Engineering Library - analyze, create, and manipulate Java class files 6.3.1 2019/3/24
BeanUtils Easy-to-use wrappers around the Java reflection and introspection APIs. 1.9.3 2016/9/26
BSF Bean Scripting Framework - interface to scripting languages, including JSR-223 3.1 2010/6/24
Chain Chain of Responsibility pattern implemention. 1.2 2008/6/2
CLI Command Line arguments parser. 1.4 2017/3/9
Codec General encoding/decoding algorithms (for example phonetic, base64, URL). 1.12 2019/2/16
Collections Extends or augments the Java Collections Framework. 4.3 2019/2/5
Compress Defines an API for working with tar, zip and bzip2 files. 1.18 2018/8/16
Configuration Reading of configuration/preferences files in various formats. 2.4 2018/10/29
Crypto A cryptographic library optimized with AES-NI wrapping Openssl or JCE algorithm implementations. 1.0.0 2016/7/22
CSV Component for reading and writing comma separated value files. 1.6 2018/9/25
Daemon Alternative invocation mechanism for unix-daemon-like java code. 1.0.15 2013/4/3
DBCP Database connection pooling services. 2.6.0 2019/2/19
DbUtils JDBC helper library. 1.7 2017/7/20
Digester XML-to-Java-object mapping utility. 3.2 2011/12/13
Email Library for sending e-mail from Java. 1.5 2017/8/1
Exec API for dealing with external process execution and environment management in Java. 1.3 2014/11/6
FileUpload File upload capability for your servlets and web applications. 1.4 2019/1/16
Functor A functor is a function that can be manipulated as an object, or an object representing a single, generic function. 1 2011-??-??
Geometry Space and coordinates. 1 2018-??-??
Imaging (previously called Sanselan) A pure-Java image library. 0.97-incubator 2009/2/20
IO Collection of I/O utilities. 2.6 2017/10/15
JCI Java Compiler Interface 1.1 2013/10/14
JCS Java Caching System 2.2,1 2018/8/23
Jelly XML based scripting and processing engine. 1.0.1 2017/9/27
Jexl Expression language which extends the Expression Language of the JSTL. 3.1 2017/4/14
JXPath Utilities for manipulating Java Beans using the XPath syntax. 1.3 2008/8/14
Lang Provides extra functionality for classes in java.lang. 3.9 2019/4/15
Logging Wrapper around a variety of logging API implementations. 1.2 2014/7/11
Math Lightweight, self-contained mathematics and statistics components. 3.5 2015/4/17
Net Collection of network utilities and protocol implementations. 3.6 2017/2/15
Numbers Number types (complex, quaternion, fraction) and utilities (arrays, combinatorics). 1 2017-??-??
OGNL An Object-Graph Navigation Language 4 2013-??-??
Pool Generic object pooling component. 2.6.2 2019/4/11
Proxy Library for creating dynamic proxies. 1 2008/2/28
RDF Common implementation of RDF 1.1 that could be implemented by systems on the JVM. 0.3.0-incubating 2016/11/15
RNG Implementations of random numbers generators. 1.2 2018/12/12
SCXML An implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.It is capable of executing a state machine defined using a SCXML document, and abstracts out the environment interfaces. 0.9 2008/12/1
Statistics Statistics. 0.1 ????-??-??
Text Apache Commons Text is a library focused on algorithms working on strings. 1.6 2018/10/16
Validator Framework to define validators and validation rules in an xml file. 1.6 2017/2/21
VFS Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. 2.3 2019/2/4
Weaver Provides an easy way to enhance (weave) compiled bytecode. 2 2018/9/7

除了上面表格中的工具包,Apache Common项目还包括以下几个工具包,其中的http-client是我们平时非常常用的。

  • Cactus: Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...). The intent of Cactus is to lower the cost of writing tests for server-side code.

  • HiveMind: HiveMind is a services and configuration microkernel. HiveMind allows you to create your application using a service oriented architecture.

  • HttpClient 3.x: Framework for working with the client-side of the HTTP protocol.

  • Naming: The Naming subproject will contain common JNDI code along with various JNDI providers.

Guava类库

Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。下面列出Guava工具包中的常用功能点,以便需要的时候查阅使用。

基本工具 [Basic utilities]
  • 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服。很多Guava工具类用快速失败拒绝null值,而不是盲目地接受。

  • 前置条件: 让方法中的条件检查更简单。

  • 常见Object方法: 简化Object方法实现,如hashCode()和toString()。

  • 排序: Guava强大的”流畅风格比较器”

  • Throwables:简化了异常和错误的传播与检查。

集合[Collections]

Guava对JDK集合的扩展,这是Guava最成熟和为人所知的部分

  • 不可变集合: 用不变的集合进行防御性编程和性能提升。

  • 新集合类型: multisets, multimaps, tables, bidirectional maps等。

  • 强大的集合工具类: 提供java.util.Collections中没有的集合工具。

  • 扩展工具类:让实现和扩展集合类变得更容易,比如创建Collection的装饰器,或实现迭代器。

缓存[Caches]

Guava Cache:本地缓存实现,支持多种缓存过期策略。

函数式风格[Functional idioms]

Guava的函数式支持可以显著简化代码,但请谨慎使用它。

并发[Concurrency]

强大而简单的抽象,让编写正确的并发代码更简单

  • ListenableFuture:完成后触发回调的Future

  • Service框架:抽象可开启和关闭的服务,帮助你维护服务的状态逻辑

字符串处理[Strings]

非常有用的字符串工具,包括分割、连接、填充等操作

原生类型[Primitives]

扩展 JDK 未提供的原生类型(如int、char)操作, 包括某些类型的无符号形式

区间[Ranges]

可比较类型的区间API,包括连续和离散类型

I/O

简化I/O尤其是I/O流和文件的操作,针对Java5和6版本

散列[Hash]

提供比Object.hashCode()更复杂的散列实现,并提供布鲁姆过滤器的实现

事件总线[EventBus]

发布-订阅模式的组件通信,但组件不需要显式地注册到其他组件中

数学运算[Math]

优化的、充分测试的数学工具类

反射[Reflection]

Guava 的 Java 反射机制工具类

Spring中的常用工具类

  • FileCopyUtils;

  • WebUtil;

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

160

2025.08.06

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

88

2026.01.26

guava包作用
guava包作用

guava是一个java库,增强了java标准库,提供更有效率和易于使用的集合、实用程序、缓存和并发工具。想了解更多guava的相关内容,可以阅读本专题下面的文章。

271

2024.05.29

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1030

2023.08.02

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

254

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1089

2024.03.01

typedef和define区别
typedef和define区别

typedef和define区别在类型检查、作用范围、可读性、错误处理和内存占用等。本专题为大家提供typedef和define相关的文章、下载、课程内容,供大家免费下载体验。

119

2023.09.26

define的用法
define的用法

define用法:1、定义常量;2、定义函数宏:3、定义条件编译;4、定义多行宏。更多关于define的用法的内容,大家可以阅读本专题下的文章。

389

2023.10.11

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 4.3万人学习

C# 教程
C# 教程

共94课时 | 11.2万人学习

Java 教程
Java 教程

共578课时 | 81.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号