excel导出导致的频繁young gc的case

      一、业务背景

     

     这是之前的一个case,需求是这样的:在excel导出的时候,实现列的自适应宽度。(使用的excel处理包是poi-3.9.jar)

 

     二、实现版本一(有young gc 问题)

     

     通过List往sheet里面设置值的时候,每设置一个单元格的值就设置一下自适应宽度,代码如下:



 

      这样实现,已经满足了需求。但是我习惯在IDE里面打印gc信息,当我run起来之后,young gc一直在刷屏。就增加了90行一行代码,结果导出时间从0.5s 到 200 s,响应时间超慢,发现gc log中eden 区回收特别频繁



     

       同时,看了眼线程状态,当时线程一直处于运行状态,然后dump线程找到该线程对应的堆栈,找到出问题的代码,结果就是因为新加的一行。怀疑产生了大对象,但是当时以为是sheet对象,结果跟进去后发现

 



       

         产生了数组对象,然后使用profier查看内存,结果是int[] 140m的实例,正常情况只有几百int[],所以修改了代码

     

 

    三、实现版本二

 

    首先去掉90行的代码,接着,填充完数据后,取表头第一行,然后给第一行设置自适应宽度就ok了

    

   fillExcelContent(sheet, lt, startNum);
    //设置自适应宽度
   Row r = sheet.getRow(0);
    for (int i = 0; i < r.getPhysicalNumberOfCells(); i++) {
      	sheet.autoSizeColumn(i);
   }

 

   

    总结:这个case是之前很早发生的,在里面主要记录一下这个处理过程

   

    

   

MuleSoft与大语言模型企业级集成实战指南 企业AI落地的核心挑战并非模型能力,而是如何将大语言模型(LLM)的语义理解力安全、可靠、可审计地嵌入现有业务系统。这涉及语义到规则的确定性映射、数据主权保障、故障隔离与容错机制等关键工程问题。MuleSoft作为成熟的企业级API编排平台,凭借DataWeave数据转换、Runtime Fabric私有化部署、Policy治理框架及强契约式接口设计,为LLM提供了不可或缺的‘企业适配层’。本文聚焦LLM与MuleSoft协同落地的真实场景,涵盖提示工程版本化、LLM输出净化、带状态会话管理、灰度发布策略及 阅读详情

相关推荐

冷启动三件套:全文检索、数据挖掘与推荐引擎的轻量级落地实践

全文检索是用户意图理解的基础能力,通过分词优化与模糊匹配提升搜索可用性;数据挖掘本质是行为信号的结构化提纯,聚焦跳失率、停留时长等可解释指标,支撑业务决策;推荐引擎并非必须依赖复杂模型,基于共现关系的轻量图谱即可实现高转化‘千人千面’。三者构成‘找得到→看得懂→推得准’的闭环链路,在资源受限场景下,技术价值不在于先进性,而在于可部署、可验证、可干预。本文以2核4G服务器为约束条件,详解Elasticsearch+Pandas+内存图谱的技术组合如何支撑独立开发者完成从0到1的MVP冷启动。

SailingAptech的专栏 587

频繁FullGC

1 原因 原因一:系统承载高并发请求,或者处理数据量过大,导致Young GC很贫乏,而且每次Young GC过后存活对象太多,内存分配不合理,Survivor区过小,导致对象频繁进入老年代,频繁触发Full GC。 原因二:系统一次性加载过多数据进内存,搞出来很多大对象,导致频繁有大对象进入老年带,必然频繁触发Full GC。 原因三:系统发生了内存泄漏,莫名其妙创建大量的对象,始终无法回收,一直占用在老年代里,必然频繁触发Full GC。 原因四:Metaspace(永久代)因为加载类过多触发Full

kking_edc的博客 1884

MuleSoft实现企业级AI编排:LLM与核心系统深度集成

AI编排(AI Orchestration)是将大语言模型作为企业服务总线上的智能端点,与SAP、Salesforce等传统系统平权协同的关键范式。其核心在于解决协议适配、治理合规与运维可观测性三大断层,而非简单调用LLM API。通过MuleSoft等企业集成平台,可实现输入标准化、输出契约化、错误自愈与全链路审计,让LLM从不可控黑盒变为可监控、可回滚、可审计的生产级服务。该模式广泛适用于智能合同审查、反洗钱(AML)实时决策、跨系统工单闭环等强合规、高稳定性要求的企业AI场景。

ailiao2015的博客 382

excel导出加水印内存溢出问题解决思路

excel导出加水印内存溢出问题解决思路

哆啦B梦的博客 1251

【202503】Wan:开放且先进的大规模视频生成模型【1.3B、14B】【支持对无限长度视频进行稳定的Inference】【Wan中的主要计算开销来自注意力机制】

wan: Open and Advanced Large-Scale Video Generative ModelsWan:开放且先进的大规模视频生成模型Wan Team, Alibaba Group Wan 团队,Alibaba GroupThis report presents Wan, a comprehensive and open suite of video foundation models designed to push the boundaries of video generation

u013250861的博客 730

大批量数据Excel导出经验总结

文章目录背景方案效果实现主线程任务生产者消费者SQL愿景参考文献 背景 目前系统中有一些接口做数据的导出,一开始数据量很小,所以在设计的时候性能什么的都没考虑到;随着数据量的不断增加,逐渐出现了一些问题: 耗时增加; SQL执行时间过长,占用数据库连接; 内存占用过高,导致FullGC频繁。 以及老版POI接口的问题: Excel写入过慢; 每个Sheet仅支持65536条数据; 容易导致O...

忙里偷闲得几回的专栏 9764

Apache POI导出大数据量Excel文件导致Full GC的解决办法

参考代码大体思路是:xlsx格式的excel本质上是一个由一些xml等文件组成的zip压缩文件,每一个sheet作为一个单独的xml文件放在压缩文件的xl/xl/worksheets目录下,当我们要导出固定格式的excel时,只需要先生成sheet文件,然后将压缩包内的xml文件替换即可。自己实现的时候需要注意的地方有: 我用的stringbuilder拼字符来生成xml文件,数据量大的时候也会导致

yx91490的专栏 5721

十一种室内定位传感器方案汇总介绍与对比(机器人、物联网领域)

室内定位传感器方案汇总 目录 室内定位传感器方案汇总 1、定位方案概述 1.1、内定位系统有最基本的5种算法: 1.2、常用的室内定位技术主要包括以下几种: 1.3、定位理论 1.4、不同的定位方案对比 2、各种定位方案详细介绍 2.1、单线激光定位 2.2、多线激光定位: 2.3、视觉定位: 2.4、基于射频识别(RFID)技术室内定位 2.4.1、RFID标签(不涉及...

JK-Cool的博客 3万+

由excel导出引起的cpu 100% 和gc 的问题

大家好,我是烤鸭:     记一次 由excel导出 导致的cpu飙升200%,jvm 内存不足。 1.  场景复现     前端页面导出Excel,之前导出4,5W条数据都没什么问题的。     今天业务突然反馈说导出不了了,我试着导出了2w数据,发现页面卡住了,     没有响应了,查日志,报错如下。 java.lang.IllegalStateException: Cannot c...

烤鸭的世界我们不懂。 5907

如何在iPhone上本地运行SmolVLM?5亿参数模型实战指南(附Swift代码)

本文详细介绍了如何在iPhone上本地部署和运行轻量高效的SmolVLM多模态模型。通过实战指南,分享了使用Swift和MLX框架进行环境配置、模型加载、内存优化以及实现实时图像分析与文本生成的完整流程,帮助开发者在移动端高效运行AI视觉语言模型。

echo99的专栏 657

麒麟系统下PaddleOCR的离线部署实战:从环境搭建到模型优化

本文详细介绍了在国产麒麟操作系统上离线部署百度PaddleOCR的完整实战流程。从系统环境准备、Conda虚拟环境搭建,到PaddlePaddle框架和PaddleOCR的离线安装,再到预训练模型的本地部署与优化技巧,提供了全面的文字识别解决方案。重点解决了离线环境下依赖包管理、模型量化加速等核心问题,并附带了批量处理与内存监控的进阶代码,适用于对数据安全有严格要求的政务、金融等场景。

docker7nomad的博客 963

从第三方平台导出大数据量本地Excel怎么解决性能问题?

对于日常需要做分析的我们来说,周期性需要从第三方系统导出数据,日积月累数据量越来愈大,由开始的几百条数据慢慢增至十几万甚至百万级的数据量,在本地Excel直接做分析汇总老是卡顿等半天,效率日益低下,每天熬夜加班完全避免不了。那数据量太大怎么解决?如果说Excel最大的诟病在哪里,相信每个Excel用户都会统一回答是数据性能问题,Excel的数据性能问题由来已久,一直以来都没有怎么真正解决过,平时只要遇到数据量比较大的表格,只能通过更换其他的工具去处理。而且Excel的行数已经限定在了100万行,如果想要利用

思迈特Smartbi 598

机器学习参数寻优:方法、实例与分析

机器学习模型的性能很大程度上依赖于其参数的选择。参数寻优(Hyperparameter Tuning)是提升模型表现的关键步骤之一。本文将详细介绍主流的参数寻优方法,包括网格搜索(Grid Search)、随机搜索(Random Search)、贝叶斯优化(Bayesian Optimization)、和超参数优化库(如Optuna和Hyperopt)等,并探讨它们的优缺点及适用场景。

甜盐的博客 2843

Java实现金融级蒙特卡罗模拟:可审计、抗OOM、合规投产

蒙特卡罗模拟是量化投资中刻画不确定性风险的核心方法,其本质是通过大量随机路径生成,替代单一确定性预测,从而评估VaR、CVaR、最大回撤等关键风控指标。在Java生态中落地时,技术重心并非数学原理本身,而在于如何保障结果的可解释性、可审计性与生产稳定性——这直接关联SecureRandom熵源选择、Cholesky联合分布建模、GARCH波动率时变处理等工程细节。尤其在公募基金、保险资管等强监管场景下,必须满足《巴塞尔协议III》《JR/T 0197-2020》等对随机数安全、内存可控、过程留痕的硬性要求。

weixin_34007020的博客 423

亲测解决This application failed to start because no Qt platform plugin could be initialized.

这个问题是由于环境变量改变或者Qt的路径改变导致,解决办法是在环境变量里面重新添加Qt路径。

狂小虎/Anthony Dave的博客 KuangXiaoHu's Blogs 2926

华为OD机试真题 Java&Go 实现【优雅子数组】【100%通过率】【2022.11 Q4 新题】

如果一个数组中出现次数最多的元素出现大于等于K次,被称为K -优雅数组,k也可以被称为优雅阈值。例如,数组1,2,3,1、2,3,1,它是一个3-优雅数组,因为元素1出现次数大于等于3次,数组1,2,3,1,2就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。

MISAYAONE的博客 1万+

工作中使用到的单词(软件开发)_第三版

====

sun0322 1万+

【100%通过率】华为od统一考试B卷【查找接口成功率最优时间段】Python 实现

服务之间交换的接口成功率作为服务调用关键质量特性,某个时间段内的接口失败率使用一个数组表示,数组中每个元素都是单位时间内失败率数值,数组中的数值为0~100的整数, 给定一个数值(minAverageLost)表示某个时间段内平均失败率容忍值,即平均失败率小于等于minAverageLost,找出数组中最长时间段,如果未找到则直接返回NULL。

MISAYAONE的博客 5871

超大数据引发的频繁gc问题

超大数据引发的频繁gc问题 ![image-20210523215943947](D:\tools\Typora\upload\image-20210523215943947.png 上述监控:ps_scavenge 表示的是年轻代垃圾收集次数 ,PS_MARK_SWEEP 是 full_gc 次数 1、首先看gc.log 根据gc log,在上一次fullgc后,在一开始,young gc的频次还算相对正常。 但后续,开始出现毫秒级的gc频次。而且每次gc后,总堆的大小逐渐变大,说明发生了新生代晋升到

sss2951的博客 2623

26届数字IC秋招笔试面试全攻略-UVM验证方法学精要

本文介绍了数字IC验证中UVM方法学的核心内容,包括组件架构、Sequence机制和寄存器模型。UVM提供env、agent、driver等组件构建验证环境;Sequence机制通过item、sequence和sequencer实现激励生成与控制;寄存器模型则通过reg_block、reg等组件管理DUT寄存器。文章详细说明了各模块的功能、交互关系和代码实现,为IC验证工程师提供了完整的UVM应用指南,重点突出了验证环境的搭建方法、激励生成流程和寄存器抽象技术。这些内容是数字IC秋招笔试面试中的高频考点。

2301_79143213的博客 725

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

用POI导出EXCEL中百万级数据的时候出现gc overhead limit exceeded

在开发过程中出现这个问题记录一下,之前都是用的 XSSFWorkbook workbook = new XSSFWorkbook(); 50W数据hainen

Jline 2065

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

大数据量导出Excel数据

用普通导出EXCEL的方法时,如果数据量过大会导致进程挂起,经过试验有两种方式可以解决这个问题。 一:BCP导出 代码如下: exec master..xp_cmdshell 'bcp "select * from OpenDataSource(''SQLOLEDB.1'',''Password=密码;User ID=sa;Server=IP').databaseName.dbo.table

w398687283的专栏 950

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

matlab cftool光滑曲线导出为什么就不光滑了_生产环境宕机问题处理系列之Excel导出大数据量导致卡死...

解决步骤:1、top命令查看CPU占用情况可以看到11042进程占用了非常多的CPU资源2、查看F5并发曲线:为什么应用耗费了这么多的线程,难道是用户量突然上来了,调取了F5的访问曲线图,可以看到在15:57左右并发量突然猛涨,当时根据曲线怀疑是请求量徒增导致3、查看系统请求量:根据应用系统日志、以及localhost_access_log日志 查看此节点用户访问日志,发现使用人数并未徒增,根据请...

weixin_39757122的博客 200

excel导出大数据量时服务器cpu过高解决方式

       最近服务器时不时的会卡死,后来通过日志分析,发现在卡死的时候有进行excel导出的操作,于是kill掉进程重启后自己手动尝试了下,发现导出的数据量超过三万条时cpu的使用率竟然高达600%(服务器8核8G,tomcat原始配置的环境),然后这种状况持续个一分钟左右后tomcat就会卡死。        问题已经明确了就是导出的问题,后来就上网查各种解决方式,有说大数据量换成cs...

sky_xin的专栏 8524

大数据量导出Excel解决方案,以及一些问题

它可以创建、读取、写入和编辑Excel文件(如XLSX、XLSM和XLTX),并提供了一组易于使用的API,使得处理Excel文件更加简单。3. OpenXML:直接操作底层XML结构,性能较好,但使用OpenXML SDK操作Excel文件的行和列可能显得更复杂。对于新手来说并不友好。但是,当数据量特别大,如几十万或上百万条时,我们就需要考虑如何解决服务器负载问题,以免导致程序崩溃。CSV文件本质上是纯文本文件,不能处理复杂的格式、样式、图表和其他高级Excel功能,仅支持文本和数值类型的数据。

caopeihuaaini的博客 3052

大批量数据导出优化

记一次线上OOM导出优化

SunHongmin 5338
上一篇: IOC容器的实现
下一篇: CAT监控平台之安装篇
excel_bat
博客等级 码龄16年 3粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值