news 2026/9/16 5:12:30

XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel流式读写、高性能BeanCopy

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel流式读写、高性能BeanCopy

Release Notes

  • 1、【新增】BloomFilter(布隆过滤器):一种基于多哈希函数和位数组的概率型数据结构,具有高效空间利用与快速查询特性;
  • 2、【新增】Trie(前缀数):一种哈希树的变种,利用公共前缀来节省存储空间和提高查询效率;
  • 3、【新增】BeanTool 工具:支持 Bean&Map 转换、Bean对象复制 等能力;
  • 4、【强化】ExcelTool 强化:支持流式Excel读取和写入,大数据量下提升操作性能;
  • 5、【强化】ReflectionTool 工具强化:完善 Method、Field、Proxy 等相关工具化方法;
  • 6、【优化】工具包结构调整,规范模块命名与包路径,涉及 json、crypto 模块;
  • 7、【升级】升级多项maven依赖至较新版本,如 gson、spring、poi 等;

代码示例01:BloomFilter / 布隆过滤器

BloomFilter:布隆过滤器,一种基于多哈希函数和位数组的概率型数据结构,具有高效空间利用与快速查询特性;

// 1、初始化 BloomFilter int size = 1000000; // 1、容量 double fpp = 0.01; // 2、误判率 BloomFilter<Long> bloomFilter = BloomFilter.create(Funnels.LONG, size, fpp); // 2、添加元素 bloomFilter.put(999L); // 3、判定元素是否存在 bloomFilter.mightContain(999L);

代码示例02:Trie / 前缀数

前缀数,一种哈希树的变种,利用公共前缀来节省存储空间和提高查询效率;

// 1、初始化 前缀树 Trie trie = new Trie(); // 2、插入单词 trie.insert("apple"); // 3、查询完整单词 trie.search("app"); // 4、前缀匹配检查 trie.startsWith("app");

代码示例03:ExcelTool / Excel读写工具

  • 常规方式:
/** * Excel导出:Object 转换为 Excel */ ExcelTool.writeFile(filePath, shopDTOList); /** * Excel导入:Excel 转换为 Object */ List<ShopDTO> shopDTOList = ExcelTool.readExcel(filePath, ShopDTO.class);
  • 流式方式(支持大数据量):
/** * Excel导出(流式方式):Object 转换为 Excel */ ExcelTool.writeExcel(filePath, new Supplier<>() { @Override public UserDTO get() { // 流式获取数据 ... return new UserDTO(); } }); /** * Excel导入(流式方式):Excel 转换为 Object */ ExcelTool.readExcel(filePath, new Consumer<UserDTO>() { @Override public void accept(UserDTO userDTO) { logger.info("item: " + userDTO); } });

简介

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

文档地址

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

组件列表

模块说明
Core模块包含 集合、缓存、日期、反射、断言、……等基础工具。
Cache模块一个高性能的 Java 缓存工具,支持多种缓存类型(FIFO、LFU、LRU等)、锁分桶优化、缓存过期策略(写后过期、访问后过期…)、缓存定时清理、缓存加载器、缓存监听器、缓存信息统计…等功能。
IO模块一系列处理IO(输入/输出)操作的工具,包括 FileTool、CsvTool、IOTool…等。
Concurrent模块一系列并发编程工具,具备良好的线程安全、高并发及高性能优势,包括MessageQueue(高性能内存队列,30W+ TPS)、CyclicThread(后台循环线程)、TimeWheel(时间轮组件)、TokenBucket(令牌桶/限流器)等。
Http模块一系列处理Http通讯、IP、Cookie等相关工具。
Json模块json序列化、反序列化工具封装,基于Gson。
JsonRpc模块一个轻量级、跨语言远程过程调用实现,基于json、http实现(对比传统RPC框架:XXL-RPC)。
Excel模块一个灵活的Java对象和Excel文档相互转换的工具。一行代码完成Java对象和Excel之间的转换。
Emoji模块一个灵活可扩展的Emoji表情编解码库,可快速实现Emoji表情的编解码。
Response模块统一响应数据结构体,标准化数据结构、状态码等,降低协作成本。
Pipeline模块高扩展性流程编排引擎。
Error模块异常处理相关工具,包括通用业务异常封装、异常工具类等;
Freemarker模块模板引擎工具,支持根据模板文件实现 动态文本生成、静态文件生成 等,支持邮件发送、网页静态化场景。
Crypto模块一系列处理编解码、加解密的工具,包括 Md5Tool、Sha256Tool、HexTool、Base64Tool…等。
Auth模块一系列权限认证相关工具,包括JwtTool…等。
ID模块一系列ID生成工具,支持多种ID生成策略,包括 UUID、Snowflake、Date、Random 等。
Serializer模块一系列序列化、反序列化工具,支持扩展多种序列化格式,包括 jdk、protobuf、hessian 等。
Captcha模块一个验证码工具,支持随机字符验证码、数字验证码、中文验证码等多形式。支持自定义验证码生成算法、宽高、颜色、文字字体/大小/间距、背景颜色、边框宽度/边框、干扰策略…等。
DataStructure模块一系列数据结构工具,包括 BloomFilter、Trie/前缀树…等;

Tool明细

模块工具说明
coreStringTool字符串工具,提供字符串校验及操作相关能力
coreDateTool日期时间工具,提供日期时间转换及操作相关能力
coreAssertTool断言工具,提供有效性校验能力
coreCollectionTool集合工具,提供集合操作能力
coreArrayTool数组工具,提供集合操作能力
coreMapToolMap 工具,提供Map操作能力
coreObjectToolObject工具,提供Object操作能力
corePropToolProp工具,提供Properties文件操作能力
coreReflectionToolJava反射工具,提供Java反射操作能力
coreClassToolClass类工具,提供Class类操作能力
coreTypeToolType工具,提供Type操作能力
authJwtToolJWT工具,提供JWT生成及解析能力
cacheCacheTool一个高性能的 Java 缓存工具,支持多种缓存类型(FIFO、LFU、LRU等)、锁分桶优化、缓存过期策略(写后过期、访问后过期…)、缓存定时清理、缓存加载器、缓存监听器、缓存信息统计…等功能。
concurrentCyclicThread后台循环线程,支持精准、线程安全的周期性循环执行能力
concurrentMessageQueue高性能内存队列,单机支持 30W+ TPS
concurrentTimeWheel时间轮组件,提供定时任务执行能力
concurrentTokenBucket令牌桶/限流器组件,提供令牌桶限流能力
emojiEmojiToolEmoji表情工具,提供Emoji表情编解码能力
cryptoBase64ToolBase64工具,提供Base64编解码能力
cryptoHexToolHex工具,提供Hex编解码能力
cryptoMd5ToolMD5工具,提供MD5编码能力
cryptoSHA256ToolSHA256工具,提供SHA256编码能力
excelExcelTool一个基于注解的 Excel 与 Java对象 相互转换及导入导出工具;一行代码完成Java对象和Excel之间的转换。
exceptionBizException通用业务异常
exceptionThrowableTool异常处理工具
freemarkerFtlTool模板引擎工具, 支持根据模板文件实现 动态文本生成、静态文件生成 等,支持邮件发送、网页静态化场景。
jsonGsonToolJson序列化及反序列化工具,基于Gson
httpCookieToolCookie工具,提供Cookie读写操作能力
httpHttpTool一个高性能 HTTP 请求库,API简洁易用、使用高效方便且性能优越;支持 “常规Http请求、Java对象请求、接口&注解编程” 三种使用方式。
httpIPToolIP工具,提供IP地址及端口号相关校验、生成及操作相关能力
ioIOToolIO工具,提供丰富IO读写操作能力
ioFileTool一个高性能 File/文件 操作工具,支持丰富文件操作API;针对大文件读写设计分批操作、流式读写能力,降低内存占用、提升文件操作性能。
ioCsvToolCsv工具,提供Csv文件读写操作能力
jsonrpcJsonRpcClient轻量级RPC通讯工具,客户端实现;基于json、http实现
jsonrpcJsonRpcServer轻量级RPC通讯工具,服务端实现;基于json、http实现
pipelinePipelineExecutorPipeline执行工具,提供pipeline注册管理以及执行相关能力
pipelinePipelinePipeline工具,提供pipeline定义及执行相关能力
responseResponse标准响应结果封装,统一服务端数据返回格式
responseResponseCode标准响应码定义,统一服务端响应码体系
responsePageModel标准分页结果封装,统一服务端分页数据格式
idDateIdToolID生成工具,根据日期趋势递增生成ID;
idRandomIdToolID生成工具,随机数字、字母、混合字符生成工具;
idSnowflakeIdToolID生成工具,雪花算法ID生成工具;
idUUIDToolID生成工具,UUID生成工具;
captchaCaptchaTool验证码工具,提供验证码生成能力;
datastructureBloomFilter布隆过滤器,一种基于多哈希函数和位数组的概率型数据结构,具有高效空间利用与快速查询特性;
datastructureTrie前缀数,一种哈希树的变种,利用公共前缀来节省存储空间和提高查询效率;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 20:59:19

Turnitin系统查英文AI率多少为正常?报告显示星号*%怎么办?

很多学校和杂志社都在说需要检测论文AI率&#xff0c;但是论文AI率多少才算正常呢&#xff1f; Turnitin系统AI检测系统&#xff1a;https://students-turnai.similarity-check.com/ 今天这篇内容就给大家分享一下。 很多同学使用Turnitin系统检测了英文论文AI率之后&#x…

作者头像 李华
网站建设 2026/9/16 4:48:42

暖通净化空调恒温恒湿项目:PLC 与触摸屏上位机程序探秘

暖通净化空调恒温恒湿项目包括PLC程序和触摸屏上位机程序。 标准化很好的内部用的函数都封装成了标准块一套很好的学习资料。在暖通净化空调恒温恒湿项目里&#xff0c;PLC 程序和触摸屏上位机程序就像项目运转的左膀右臂&#xff0c;承担着关键任务。先聊聊 PLC 程序&#xff…

作者头像 李华
网站建设 2026/9/16 5:54:11

第30章 Shell 正则表达式实战:精准匹配字符串、日志与配置项

本章导语:正则表达式是文本处理的"瑞士军刀",是 Linux 系统管理和数据处理的核心技能。掌握正则表达式,你将能够精准匹配和处理各种复杂的文本模式,从日志分析到配置文件管理,从数据清洗到格式验证,无所不能。本章将通过丰富的实战案例,帮助你彻底掌握正则表达…

作者头像 李华
网站建设 2026/9/16 5:55:30

音视频学习(七十二):视频压缩:分块与预处理

分块与预处理是视频压缩&#xff08;编码&#xff09;流程的起点&#xff0c;它的目标是将原始的、高冗余的视频数据转换成适合高效压缩的格式和基本处理单元。这一阶段的工作质量直接影响后续运动估计、变换编码和量化等步骤的效率和最终的压缩比与图像质量。 预处理的核心目标…

作者头像 李华
网站建设 2026/9/15 13:45:20

AMD Ryzen性能调优:快速掌握处理器调试工具的使用技巧

AMD Ryzen性能调优&#xff1a;快速掌握处理器调试工具的使用技巧 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

作者头像 李华
网站建设 2026/9/15 19:31:00

深蓝词库转换:轻松打通全平台输入法数据壁垒

深蓝词库转换&#xff1a;轻松打通全平台输入法数据壁垒 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 想要实现搜狗、百度、QQ、微软等主流输入法之间的词库自由迁…

作者头像 李华