当前位置: 首页 > news >正文

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

Release Notes

  • 1、【新增】ID模块:提供ID生成能力,支持多种ID生成策略,如:UUID、Snowflake、Date、Random 等多种ID生成工具;
  • 2、【新增】Serializer模块:提供序列化、反序列化能力,支持扩展多种序列化格式,如jdk、protobuf、hessian…等;
  • 3、【强化】已有工具能力完善,包括:StringTool、CookieTool 等;
  • 4、【升级】升级依赖版本;

简介

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

文档地址

  • 中文文档:https://www.xuxueli.com/xxl-tool/
  • Github:https://github.com/xuxueli/xxl-tool

组件列表

模块说明
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
http://www.dtcms.com/a/277654.html

相关文章:

  • https交互原理
  • 010_学习资源与社区支持
  • cs285学习笔记(一):课程总览
  • 融合开源AI大模型与MarTech:AI智能名片与S2B2C商城小程序源码赋能数字化营销新生态
  • Boost.Asio 中 io_context 类 post 和 dispatch的区别
  • 启动Tomcat报错:A child container failed during start
  • MCP 服务开发到发布
  • 更换docker工作目录
  • MongoDB对接SpringBoot【大数据存储】
  • Hashtable 与 HashMap 的区别笔记
  • 利用DeepSeek证明立体几何题目
  • Flink学习笔记:整体架构
  • Vue 3 动态ref问题
  • 第十五篇:Python操作Excel速成:读写单元格、样式与公式,你的第一个数据自动化脚本!告别手动录入!
  • 002大模型基础知识
  • 多项式运算→复数域FFT→有限域NTT
  • 在上海开发小程序,怎么做出“高级感”?
  • RTDETR融合[CVPR2024]SHViT中的SHSA模块
  • 业务访问控制-ACL与包过滤
  • openeuler使用桥接模式(包括新建虚拟机和已有虚拟机)
  • C语言集成ip2region快速指南
  • java: DDD using oracle 21c
  • 【实证分析】上市公司绿色战略数据集(2000-2023年)
  • 【PTA数据结构 | C语言版】字符串删除操作
  • Mybatis自动创建数据库表,并根据创建的表自动生成Mvc框架基础代码
  • WPS新版Latex公式改为显示样式,防止内嵌缩小
  • 清华北大西工大!具身导航最新综述
  • Git的常用操作
  • MYSQL笔记2
  • NW756NW815美光固态闪存NW821NW828