0

0

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

碧海醫心

碧海醫心

发布时间:2025-12-15 12:19:01

|

601人浏览过

|

来源于php中文网

原创

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 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 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() {
    @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明细

模块 工具 说明
core StringTool 字符串工具,提供字符串校验及操作相关能力
core DateTool 日期时间工具,提供日期时间转换及操作相关能力
core AssertTool 断言工具,提供有效性校验能力
core CollectionTool 集合工具,提供集合操作能力
core ArrayTool 数组工具,提供集合操作能力
core MapTool Map 工具,提供Map操作能力
core ObjectTool Object工具,提供Object操作能力
core PropTool Prop工具,提供Properties文件操作能力
core ReflectionTool Java反射工具,提供Java反射操作能力
core ClassTool Class类工具,提供Class类操作能力
core TypeTool Type工具,提供Type操作能力
auth JwtTool JWT工具,提供JWT生成及解析能力
cache CacheTool 一个高性能的 Java 缓存工具,支持多种缓存类型(FIFO、LFU、LRU等)、锁分桶优化、缓存过期策略(写后过期、访问后过期…)、缓存定时清理、缓存加载器、缓存监听器、缓存信息统计…等功能。
concurrent CyclicThread 后台循环线程,支持精准、线程安全的周期性循环执行能力
concurrent MessageQueue 高性能内存队列,单机支持 30W+ TPS
concurrent TimeWheel 时间轮组件,提供定时任务执行能力
concurrent TokenBucket 令牌桶/限流器组件,提供令牌桶限流能力
emoji EmojiTool Emoji表情工具,提供Emoji表情编解码能力
crypto Base64Tool Base64工具,提供Base64编解码能力
crypto HexTool Hex工具,提供Hex编解码能力
crypto Md5Tool MD5工具,提供MD5编码能力
crypto SHA256Tool SHA256工具,提供SHA256编码能力
excel ExcelTool 一个基于注解的 Excel 与 Java对象 相互转换及导入导出工具;一行代码完成Java对象和Excel之间的转换。
exception BizException 通用业务异常
exception ThrowableTool 异常处理工具
freemarker FtlTool 模板引擎工具, 支持根据模板文件实现 动态文本生成、静态文件生成 等,支持邮件发送、网页静态化场景。
json GsonTool Json序列化及反序列化工具,基于Gson
http CookieTool Cookie工具,提供Cookie读写操作能力
http HttpTool 一个高性能 HTTP 请求库,API简洁易用、使用高效方便且性能优越;支持 “常规Http请求、Java对象请求、接口&注解编程” 三种使用方式。
http IPTool IP工具,提供IP地址及端口号相关校验、生成及操作相关能力
io IOTool IO工具,提供丰富IO读写操作能力
io FileTool 一个高性能 File/文件 操作工具,支持丰富文件操作API;针对大文件读写设计分批操作、流式读写能力,降低内存占用、提升文件操作性能。
io CsvTool Csv工具,提供Csv文件读写操作能力
jsonrpc JsonRpcClient 轻量级RPC通讯工具,客户端实现;基于json、http实现
jsonrpc JsonRpcServer 轻量级RPC通讯工具,服务端实现;基于json、http实现
pipeline PipelineExecutor Pipeline执行工具,提供pipeline注册管理以及执行相关能力
pipeline Pipeline Pipeline工具,提供pipeline定义及执行相关能力
response Response 标准响应结果封装,统一服务端数据返回格式
response ResponseCode 标准响应码定义,统一服务端响应码体系
response PageModel 标准分页结果封装,统一服务端分页数据格式
id DateIdTool ID生成工具,根据日期趋势递增生成ID;
id RandomIdTool ID生成工具,随机数字、字母、混合字符生成工具;
id SnowflakeIdTool ID生成工具,雪花算法ID生成工具;
id UUIDTool ID生成工具,UUID生成工具;
captcha CaptchaTool 验证码工具,提供验证码生成能力;
datastructure BloomFilter 布隆过滤器,一种基于多哈希函数和位数组的概率型数据结构,具有高效空间利用与快速查询特性;
datastructure Trie 前缀数,一种哈希树的变种,利用公共前缀来节省存储空间和提高查询效率;

源码地址:点击下载

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

116

2025.08.06

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

43

2026.01.26

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

420

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

536

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

312

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

0

2025.09.15

cookie
cookie

Cookie 是一种在用户计算机上存储小型文本文件的技术,用于在用户与网站进行交互时收集和存储有关用户的信息。当用户访问一个网站时,网站会将一个包含特定信息的 Cookie 文件发送到用户的浏览器,浏览器会将该 Cookie 存储在用户的计算机上。之后,当用户再次访问该网站时,浏览器会向服务器发送 Cookie,服务器可以根据 Cookie 中的信息来识别用户、跟踪用户行为等。

6430

2023.06.30

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

54

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 14.6万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号