新闻中心

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

2025-12-15
浏览次数:
返回列表

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、【升级】升级多项m*en依赖至较新版本,如 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 / 前缀数

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

达芬奇 达芬奇

达芬奇——你的AI创作大师

达芬奇 166 查看详情 达芬奇

// 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 是一个J*a工具类库,致力于让J*a开发更高效。包含 “日期、集合、字符串、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模块 一个高性能的 J*a 缓存工具,支持多种缓存类型(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模块 一个灵活的J*a对象和Excel文档相互转换的工具。一行代码完成J*a对象和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 J*a反射工具,提供J*a反射操作能力
core ClassTool Class类工具,提供Class类操作能力
core TypeTool Type工具,提供Type操作能力
auth JwtTool JWT工具,提供JWT生成及解析能力
cache CacheTool 一个高性能的 J*a 缓存工具,支持多种缓存类型(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 与 J*a对象 相互转换及导入导出工具;一行代码完成J*a对象和Excel之间的转换。
exception BizException 通用业务异常
exception ThrowableTool 异常处理工具
freemarker FtlTool 模板引擎工具, 支持根据模板文件实现 动态文本生成、静态文件生成 等,支持邮件发送、网页静态化场景。
json GsonTool Json序列化及反序列化工具,基于Gson
http CookieTool Cookie工具,提供Cookie读写操作能力
http HttpTool 一个高性能 HTTP 请求库,API简洁易用、使用高效方便且性能优越;支持 “常规Http请求、J*a对象请求、接口&注解编程” 三种使用方式。
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 前缀数,一种哈希树的变种,利用公共前缀来节省存储空间和提高查询效率;

源码地址:点击下载

以上就是XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel 流式读写、高性能 BeanCopy的详细内容,更多请关注其它相关文章!


# java  # 流式  # 验证码  # 达芬奇  # 数据结构  # 高性能  # ai  # csv  # 工具  # 端口  # 大数据  # 编码  # cookie  # github  # json  # git  # js  # excel  # app  # 正规营销推广策略  # seo外包 站腾网  # 低价网站推广与优化  # seo刷排名软件 site  # 网络精准营销推广文案  # 上海网站建设领导品牌  # 家装网络营销推广  # 全民营销推广图片素材  # 移动端的seo优化  # 购物网站 建设 费用  # 转换为  # 编解码  # 微软  # 序列化  # 多哈 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: PDF文件体积过大处理_PDF压缩技巧详解  ArrayList与LinkedList操作复杂度详解:遍历与修改  J*aScript对象创建方式_J*aScript设计模式应用  如何创建没有密码的Windows本地账户_跳过微软账户登录的技巧【教程】  抖音怎么赚钱_抖音创作者变现方法与途径指南  在Socket.IO连接中实现Access Token自动更新与动态重连  Python自定义类排序:解决lambda键值访问TypeError的实践指南  C++ string find函数返回值npos详解_C++字符串查找失败的判断条件  《明末:渊虚之羽》设计师谈设计角色:那会刚毕业 充满激情  利用5118提升短视频内容效果_5118短视频关键词优化方法  响应式图片在网页设计中的正确实现方法  Win10文件资源管理器“此电脑”分组怎么关 Win10恢复经典视图【技巧】  微信网页版官方入口直达 微信网页版网页版登录使用方法  美团外卖商家服务中心入口 美团商家版官网入口  Go语言中高效处理x-www-form-urlencoded表单数据  解决Django多数据库/多Schema环境下外键迁移问题  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  qq邮箱日历功能怎么用_创建日程与会议邀请的技巧  顺丰快件物流信息 官方网站查询入口  Typer应用中灵活处理命令行参数的令牌化与解析  Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法  Spyder启动失败:字体文件权限拒绝错误解决方案  J*aScript数据结构转换:将对象数组按类别分组  Win11怎么设置鼠标主按键_Win11鼠标左右键功能互换  c++中为什么推荐使用using替代typedef_c++现代化类型别名  Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式  包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  在J*a中如何使用BigDecimal进行高精度计算_BigDecimal类应用指南  处理Kafka消费者会话超时:深入理解消息处理语义与幂等性  Go语言中JSON数据解码与字段访问指南  VS Code远程开发时如何处理文件权限问题  中兴BladeV30怎样用测距估书架层高_iPhone中兴BladeV30测距估书架层高【家装参考】  QQ邮箱网页版入口登录 QQ邮箱在线邮箱官方通道  Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖  J*aScript中管理异步API调用:确保操作顺序与数据一致性  Golang如何通过reflect获取匿名字段方法_Golang reflect匿名字段方法访问技巧  QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台  Typer应用中动态命令行参数的解析与处理  机器学习中对数变换预测结果的反向还原  千牛数据看板网页版_千牛数据看板网页版访问方法  126邮箱网页版官方入口 126邮箱账号在线登录平台  jQuery Mask 插件中实现电话号码固定前导零的教程  Win10怎么制作U盘启动盘 Win10系统安装U盘制作教程【详解】  深入理解与实现最大堆的Heapify过程:常见错误与修正  如何设置Windows Defender的定时扫描_计划任务实现自动杀毒【安全】  C++指针和引用有什么区别_C++内存管理核心概念深度解析  AO3网页版合集入口 Archive of Our Own同人作品浏览指南  浏览器打开即用 美图秀秀网页版入口  J*a 递归快速排序中静态变量的状态管理与陷阱  C++ map遍历方法大全_C++ map迭代器使用总结 

搜索