当前位置:

首页 > 编程开发 > Java开发中常用的工具类库有哪些

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

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

本文目录

    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;

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Java
    相关文章 更多
    Java单元测试入门:使用JUnit 5编写第一个测试用例
    Java单元测试入门:使用JUnit 5编写第一个测试用例

    面向初学者的JUnit 5实用入门指南。从测试概念、Maven依赖配置,到手把手编写首个单元测试用例及断言验证,助你掌握Java单元测试的核心流程。

    Java变量未初始化报错解析:局部变量与成员变量默认值差异
    Java变量未初始化报错解析:局部变量与成员变量默认值差异

    深入解析Java中局部变量未初始化编译报错与成员变量自动赋予默认值的机制差异,涵盖JVM内存分配、编译期确定性赋值检查与实际排查修复方案。

    Java获取当前时间并格式化输出:DateTimeFormatter与SimpleDateFormat
    Java获取当前时间并格式化输出:DateTimeFormatter与SimpleDateFormat

    详细讲解在Java中获取当前系统时间并进行格式化输出的两种核心方案:基于Java 8全新日期时间API的DateTimeFormatter与传统遗留的SimpleDateFormat,包含完整代码示例、线程安全机制对比及生产选型建议。

    Java中final与static final常量的定义及初始化规则
    Java中final与static final常量的定义及初始化规则

    深入解析Java中final变量与static final常量的定义、内存语义、初始化时机及合法赋值路径,涵盖编译期常量优化与实战避坑指南。

    Java抽象方法与接口方法的区别及选型建议
    Java抽象方法与接口方法的区别及选型建议

    深入对比Java中抽象类抽象方法与接口方法的语法演进、设计意图及运行期差异,并提供清晰的架构选型决策流程与实战范例。

    Java实现HTTP请求与JSON解析的完整代码示例
    Java实现HTTP请求与JSON解析的完整代码示例

    本文提供Java标准库HttpClient发起HTTP GET/POST请求并结合Jackson进行JSON数据反序列化与序列化的完整代码示例与工程实践指南。

    Java递归出现StackOverflowError的原因分析及栈空间优化方案
    Java递归出现StackOverflowError的原因分析及栈空间优化方案

    详细分析Java递归调用出现StackOverflowError的原因,结合代码说明线程栈、栈帧和递归深度之间的关系,并介绍终止条件排查、迭代改写、减少栈帧开销以及通过-Xss调整JVM栈空间的方法。

    Java空指针异常(NPE)的代码排查与修复实例
    Java空指针异常(NPE)的代码排查与修复实例

    针对Java中常见的NullPointerException(NPE),本文从堆栈日志定位、典型代码触发场景、具体修复代码对比到防御体系进行系统讲解,提供实用且易上手的排查与修复方案。

    selenium上传文件教程本地文件路径设置方法
    selenium上传文件教程本地文件路径设置方法

    深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

    针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。