XSSFWorkbook导致CPU占用很高

  • 将微信支付的账单同步至云存储
    • 业务需求
    • 科普
    • 解决方案

将微信支付的账单同步至云存储

业务需求

https://pay.weixin.qq.com/wiki/doc/api/wxpay_v2/papay/chapter5_11.shtml
将微信服务商支付的账单,同步到云存储中去

废话不多说

科普

  1. HSSFWorkbook(excel 2003)
    HSSFWorkbook 针对是 EXCEL2003 版本,扩展名为 .xls;所以 此种的局限就是导出的行数,至多为 65535 行,因为行数不够多所以一般不会发生OOM。

  2. XSSFWorkbook (excel 2007)
    这种形式的出现 是由于 第一种HSSFWorkbook 的局限性而产生的,因为其所导出的行数比较少,所以 XSSFWookbook应运而生 其 对应的是EXCEL2007+(1048576行,16384列)扩展名 .xlsx,最多可以 导出 104 万行,不过,这样就伴随着一个问题—OOM 内存溢出,原因是 你所 创建的 book sheet row cell 等 此时是存在 内存的 并没有 持久化,那么随着数据量增大内存的需求量也就增大,那么很大可能就是要 OOM了或者CPU飙升的情况,进一步导致脚本机挂掉。

  3. SXSSFWorkbook(excel 2007后,poi使用3.8+版本)
    就是为了解决XSSFWorkbook 在数据量比较大的背景下,产生的;我们都知道如果占用内存过高,是否可以采用不断追加的方式,或者说内存到持久化的方式;这时候产生了 new SXSSFWorkbook(5000)
    /这里的5000/其实就是代表,内存存储多少条之后,刷进文件。这样子就可以避免,OOM这种情况了。

解决方案

public class ExcelBuilder {Workbook workbook;public ExcelBuilder() {//        this.workbook = new XSSFWorkbook();//修改前this.workbook = new SXSSFWorkbook(2000);//修改后}........................................
}

XSSFWorkbook导致CPU占用很高相关推荐

  1. 机器学习 任务管理器中显示cpu占用很高,gpu很低,但是设置了Gpu运算

    ** 详情见我的博客小生博客 ** 暂时没有得到官方的解释 问题 这是我的情况, 我的 cuda已经正常安装了,并且 但是依然提示cpu占用很高, 程序中设置了使用Gpu 查看是否机器学习使用了Gpu ...

  2. 解决Ubuntu14.04下使用foxit reader(福昕阅读器)导致CPU占用过高的问题

    不管福昕阅读器安装在Windows下还是Linux下都有发生过CPU占用过高的问题,国内外的网友都反映是因为福昕云插件导致的,所以Windows下就很好解决了,直接 控制面板 -> 程序 然后删 ...

  3. 记一次批量插入导致cpu占用过高问题

    一.业务场景 报表系统,获取公司各个地区的业务单子结算数据,计算分配佣金和业绩,并生成excel表格,共三个excel,两个excel中有十个sheet,一个有四个sheet,包括所有明细数据及分类汇 ...

  4. 更改控制面板硬件和声音电源选项导致cpu温度很高

    最近电脑温度很高,于是我清理了机箱,清理了风扇,加了两个风扇,建立了前进后出的立体风道,结果cpu温度还是居高不下,即使电脑处于闲置状态,cpu温度都稳居在70多度,一直找不到原因. 今日灵光一现,突 ...

  5. 清理mysql的sleep链接_Mysql Sleep 链接过多导致 CPU 占用过高的问题

    架构是 lnmp , 由于业务需要,需要采集很多数据.而且对数据的更新要及时, 于是开了 N 多采集的线程,最近发现 MYSQL 的 CPU 占用长期在 90 以上 于是升级了 CPU 从原本双核升级 ...

  6. POI导出数据至Excel,cpu飙升 cpu占用很高,原因排查

    零 干货满满 1测试环境开启GC日志 -Xloggc:gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+HeapDumpBeforeFull ...

  7. mybatis使用find_in_set导致cpu占用过高

    问题表asks有个字段attids用来保存问题附件的id,多个附件用","隔开,比如有两个附件,附件id分别为8和9,则该字段保存内容为"8,9" 问题mape ...

  8. pytorch cpu占用较高

    方法一.torch.set_num_threads(int thread) (亲测比较有效) linux有效,不用时cpu占用能到5000%,设置3后,就到到300%. 法二.export OMP_N ...

  9. 【linux】oracle数据库cpu占用过高排查方案

    将[%cpu]占用率最高的那条的[PID]复制取出,去数据库执行下面语句,即可查询出是哪条sql语句占导致cpu占用很高 SELECT sql_text FROM v$sqltext a WHERE ...

最新文章

  1. 你必须收藏的Github技巧
  2. python下什么版本-python版本有什么不同
  3. [leetcode]Trapping Rain Water @ Python
  4. 算法--360面试:使用递归实现:a0=1,a1=1;a2=a0+a1;a3=a1+a2...以此类推,求a30
  5. 用户运营平台产品设计指南
  6. Centos-Glassfish安装
  7. P2590-[ZJOI2008]树的统计【树链剖分,线段树】
  8. Java 多线程异常捕获Runnable实现
  9. 【转载】ASP.NET自定义404和500错误页面
  10. 【转】asp.net中bind()和eval()的区别
  11. RocketMq 消费消息的两种方式 pull 和 push
  12. spring,springmvc,mybatis整合ssm框架出现ORA-02289:序列不存在问题
  13. python:植物大战僵尸源代码
  14. 群晖Nas通过jellyfin搭建本地影音库详细全过程(一):通过群晖系统docker容器安装jellyfin影音库服务器
  15. 中了勒索病毒如何自救?20220105
  16. python saveas_如何使用Python SaveAs对话框
  17. nodejs入门视频教程 Node.js Web开发框架
  18. 基于python的语料库数据处理_基于Python的语料库数据处理(三)
  19. 图片base64编码的前端展示及后端解码,编码
  20. Hive SQL— 连续发单天数

热门文章

  1. 阿里云物联网APP编程时遇到com.aliyun.teaopenapi错误怎么办?
  2. 上海体育学院计算机专业怎样,上海体育学院考研难吗?一般要什么水平才可以进入?...
  3. 人工智能是当前最好的计算机专业研究方向吗?未来会饱和吗?
  4. 信号完整性之板材损耗
  5. PPT:如何在ppt中显示网页,并且实时操作?
  6. Flutter Crad学习日记
  7. LeetCode:69.Sqrt
  8. 让计算机的cpu 硬盘 显卡,电脑经常卡死运行很慢, 别怪CPU和显卡, 而是它
  9. 利用Java打印空心菱形
  10. 【干货满满】学习java开发,用什么样配置的电脑好?