XXL-TOOL v1.5.0 发布 | Java 工具类库

55 天前
 xuxueli

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-a3e5c88be06c
UUIDTool.getSimpleUUID();                 // 输出格式:cf665741604b4f309cd59d142ee007e3

// d 、随机方式 ID 生成
RandomIdTool.getDigitId(10);                // 输出格式:63484898497712492211
RandomIdTool.getLowercaseId();              // 输出格式:ueppklqjsbqsxfhdlyye
RandomIdTool.getLowercaseId(10);            // 输出格式:airedlhfxc
RandomIdTool.getUppercaseId();              // 输出格式:PTKYKLDTLCKYLWAIARUF
RandomIdTool.getUppercaseId(10);            // 输出格式:RYFZLCXKAT
RandomIdTool.getAlphaNumeric(10);           // 输出格式:b1LQh8QsNxL15DKEE3yS
RandomIdTool.getAlphaNumericWithSpecial();  // 输出格式:_bl+Cbf0[Rrj:ta=KZWb
1891 次点击
所在节点    程序员
6 条回复
zhuanggu
55 天前
见到了大佬本人,当年做数据开发的时候许任务调度就考虑用这个 xxl
rainbowGeek
55 天前
大佬大佬
xiaoxin201
55 天前
额,是开发了 xxljob 的大佬吗?
hengo
55 天前
国产开源工具被收购的消息不断,项目持续性难保障。现在做技术选型,优先考虑 JDK 和 Apache 的官方工具。必须说一句,感谢 OP 的贡献和努力。
silencegg
54 天前
xxl-job 大佬,美团大佬
w292614191
54 天前
!!!大佬也下场搞这了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1144877

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX