V2EX 07月13日 15:07
[程序员] XXL-TOOL v1.5.0 发布 | Java 工具类库
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

XXL-TOOL 是一个专为 Java 开发者设计的工具类库,旨在提升开发效率。它包含了日期、集合、字符串、IO、缓存、并发、Excel、Emoji、Response、Pipeline、Http、Json、JsonRpc、Encrypt、Auth、ID、Serializer 等数十个模块。本次更新新增了 ID 和 Serializer 模块,并强化了现有工具的能力,同时升级了依赖版本。开发者可以通过提供的文档和代码示例快速上手,从而在 Java 开发中获得更高效的体验。

✨ **核心组件**:XXL-TOOL 提供了丰富的模块,涵盖了 Java 开发中的多个方面,例如Core模块包含集合、缓存、日期等基础组件,IO模块处理输入/输出操作,Concurrent模块提供并发编程工具,Http模块处理Http通讯,Json模块处理Json序列化等。

💡 **新增功能**:本次更新重点增加了两个新模块:ID 模块和 Serializer 模块。ID 模块提供了多种 ID 生成策略,包括 UUID、Snowflake、Date、Random 等;Serializer 模块则提供了序列化和反序列化能力,支持多种序列化格式。

🚀 **强化与升级**:除了新增功能,XXL-TOOL 还对现有的工具能力进行了完善,例如 StringTool、CookieTool 等。同时,为了保持与时俱进,也升级了依赖版本,以确保工具的稳定性和兼容性。

📚 **使用示例**:文章提供了代码示例,展示了 Serializer 和 ID 模块的用法。例如,通过 Serializer 可以轻松地序列化和反序列化 Java 对象;ID 模块则展示了日期、雪花算法、UUID 和随机方式生成 ID 的方法,方便开发者快速上手和使用。

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 工具类库
相关文章