V2EX 20小时前
[程序员] XXL-TOOL v1.5.0 发布 | Java 工具类库
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

XXL-TOOL 是一个 Java 工具类库,旨在提升 Java 开发效率。它涵盖了日期、集合、字符串、IO、缓存、并发、Excel、Emoji、Response、Pipeline、Http、Json、JsonRpc、Encrypt、Auth、ID、Serializer 等多个模块,功能丰富。新版本增加了 ID 和 Serializer 模块,并完善了现有工具。用户可以通过中文文档和 Github 获取更多信息,代码示例展示了 Serializer 和 ID 生成工具的用法,方便开发者快速上手。

✨ **核心模块概览:** XXL-TOOL 包含 Core、IO、Concurrent、Http、Json 等多个模块,覆盖了基础工具、IO 操作、并发编程、Http 通讯、Json 序列化等多个方面,为 Java 开发提供了全面的支持。

🛠️ **新增功能:** 新版本增加了 ID 模块,提供多种 ID 生成策略,如 UUID、Snowflake、Date、Random 等,以及 Serializer 模块,支持多种序列化格式,如 jdk、protobuf、hessian 等,扩展了工具库的功能。

💡 **实用代码示例:** 提供了 Serializer 和 ID 生成工具的代码示例,展示了如何使用 Serializer 进行 Java 对象的序列化和反序列化,以及如何使用 ID 生成工具生成不同类型的 ID,方便开发者快速上手和应用。

🚀 **持续更新与维护:** 现有工具能力得到了强化,例如 StringTool、CookieTool 等,并且升级了依赖版本,保证了工具库的稳定性和兼容性。

Release Notes

简介

XXL-TOOL 是一个 Java 工具类库,致力于让 Java 开发更高效。包含 “日期、集合、字符串、IO 、缓存、并发、Excel 、Emoji 、Response 、Pipeline 、Http 、Json 、JsonRpc 、Encrypt 、Auth 、ID 、Serializer...” 等数十个模块。

文档地址

组件列表

模块说明
Core 模块包含集合、缓存、日期……等基础组件工具。
IO 模块一系列处理 IO (输入/输出)操作的工具。
Concurrent 模块一系列并发编程工具,具备良好的线程安全、高并发及高性能优势,包括 MessageQueue (高性能内存队列,30W+ TPS )、CyclicThread (后台循环线程)、TimeWheel (时间轮组件)等。
Http 模块一系列处理 Http 通讯、IP 、Cookie 等相关工具。
Json 模块json 序列化、反序列化工具封装,基于 Gson 。
JsonRpc 模块一个轻量级、跨语言远程过程调用实现,基于 json 、http 实现(对比传统 RPC 框架:XXL-RPC)。
Excel 模块一个灵活的 Java 对象和 Excel 文档相互转换的工具。一行代码完成 Java 对象和 Excel 之间的转换。
Emoji 模块一个灵活可扩展的 Emoji 表情编解码库,可快速实现 Emoji 表情的编解码。
Response 模块统一响应数据结构体,标准化数据结构、状态码等,降低协作成本。
Pipeline 模块高扩展性流程编排引擎。
Exception 模块异常处理相关工具。
Freemarker 模块模板引擎工具,支持根据模板文件实现 动态文本生成、静态文件生成 等,支持邮件发送、网页静态化场景。
Encrypt 模块一系列处理编解码、加解密的工具,包括 Md5Tool 、HexTool 、Base64Tool...等。
Auth 模块一系列权限认证相关工具,包括 JwtTool...等。
ID 模块一系列 ID 生成工具,支持多种 ID 生成策略,包括 UUID 、Snowflake 、Date 、Random 等。
Serializer 模块一系列序列化、反序列化工具,支持扩展多种序列化格式,包括 jdk 、protobuf 、hessian 等。
......

代码示例:Serializer 用法

一系列序列化、反序列化工具,支持扩展多种序列化格式,包括 jdk 、protobuf 、hessian 等。

// a 、匹配序列化工具Serializer serializer = SerializerEnum.JAVA.getSerializer();// b 、序列化 Java 对象 ( DemoUser 为示例对象)DemoUser demoUser = new DemoUser("jack", 18);byte[] bytes = serializer.serialize(demoUser);// b 、反序列化 Java 对象DemoUser demoUser2 = serializer.deserialize(bytes);logger.info("demoUser2: {}", demoUser2);

代码示例:ID 生成工具用法

一系列 ID 生成工具,支持多种 ID 生成策略,包括 UUID 、Snowflake 、Date 、Random 等。

// a 、日期方式 ID 生成DateIdTool.getDateId();                     // 输出格式:20250713115530671505// b 、雪花算法方式 ID 生成SnowflakeIdTool idGen = new SnowflakeIdTool(1);idGen.nextId());                          // 输出格式:7350010799378665472// c 、UUID 方式 ID 生成UUIDTool.getUUID();                       // 输出格式:21765f7c-8c47-4418-9a72-a3e5c88be06cUUIDTool.getSimpleUUID();                 // 输出格式:cf665741604b4f309cd59d142ee007e3// d 、随机方式 ID 生成RandomIdTool.getDigitId(10);                // 输出格式:63484898497712492211RandomIdTool.getLowercaseId();              // 输出格式:ueppklqjsbqsxfhdlyyeRandomIdTool.getLowercaseId(10);            // 输出格式:airedlhfxcRandomIdTool.getUppercaseId();              // 输出格式:PTKYKLDTLCKYLWAIARUFRandomIdTool.getUppercaseId(10);            // 输出格式:RYFZLCXKATRandomIdTool.getAlphaNumeric(10);           // 输出格式:b1LQh8QsNxL15DKEE3ySRandomIdTool.getAlphaNumericWithSpecial();  // 输出格式:_bl+Cbf0[Rrj:ta=KZWb

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

XXL-TOOL Java 工具类库
相关文章