V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xuxueli
V2EX  ›  程序员

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

  •  
  •   xuxueli · 54 天前 · 1887 次点击
    这是一个创建于 54 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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...” 等数十个模块。

    文档地址

    组件列表

    模块 说明
    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
    
    6 条回复    2025-07-14 11:54:03 +08:00
    zhuanggu
        1
    zhuanggu  
       54 天前
    见到了大佬本人,当年做数据开发的时候许任务调度就考虑用这个 xxl
    rainbowGeek
        2
    rainbowGeek  
       54 天前
    大佬大佬
    xiaoxin201
        3
    xiaoxin201  
       54 天前 via Android
    额,是开发了 xxljob 的大佬吗?
    hengo
        4
    hengo  
       54 天前
    国产开源工具被收购的消息不断,项目持续性难保障。现在做技术选型,优先考虑 JDK 和 Apache 的官方工具。必须说一句,感谢 OP 的贡献和努力。
    silencegg
        5
    silencegg  
       53 天前
    xxl-job 大佬,美团大佬
    w292614191
        6
    w292614191  
       53 天前
    !!!大佬也下场搞这了?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2366 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:49 · PVG 23:49 · LAX 08:49 · JFK 11:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.