java内存优化之poi,内存缓存java

本文目录一览:

java 使用POI3.7 HSSF 报表导出内存溢出问题

这个主要是excel表格版本的问题2003是有限制的65535,用2007的能导一百万数据,不过内存需要适当的设置大点

java poi 生成Excel 速度非常慢,求优化方案?数据才到2000左右的时候就开始变慢了。。

发现你问题的所在了,你把过多的可重用的东西卸写在了循环内

HSSFCellStyle cellStyle = wb.createCellStyle();

HSSFDataFormat format = wb.createDataFormat();

cellStyle.setDataFormat(format.getFormat(“@”));

// HSSFRow row = sheet.createRow(i+2);//这句不可重用

HSSFCell policyNoCell = row.createCell((short) 0);

policyNoCell.setCellStyle(cellStyle);

policyNoCell.setCellValue(new HSSFRichTextString(rs.getString(3)));//这句不可重用

你这个完全可以卸载循环外啊,creat这么多,肯定占内存

就算你有多个style,你也可以只需要creat一次,然后反复调用就好了

切记,以后再代码设计中,一定要考虑最大可能的重用,而不是每次需要去创造(new()、crate什么的),这是一种思维,祝你好运

java excel poi 大数据量50W 内存溢出

50W数库EXCEL打开也有难度,建议导入CSV格式文件,或分多个文件。

关于内存溢出,注意以下几点:

1,分页分批从数据库里查询数据。

2,注意变量的释放,特别是LIST和MAP之类的引用,如果定义成全局变量或静态变量就会很难释放。

3,调大虚拟机内存大小。

Java中的POI他是干嘛的可以做什么

这个是一个用于操作EXCEL和WORD的工具包,不过貌似开发团队解散了,一直没有更新,对WORD的支持不是很好,建议还是使用ITEXT之类吧

java poi进行百万级数据导入 导出 时的瓶颈在哪?又该如何优化?

POI使用Workbook在内存中生成整个文档, 因此到了百万级数据时瓶颈处于内存.

优化方式通常有以下几种方法:

买内存条加大电脑内存

限制每个文件大小, 数据量大时根据最大数量进行分割.

java 用POI处理比较大的word和excel文档。

用它的底层接口,EVentModel来操作会比较省内存,但代码写起来比较麻烦。9M左右就内存溢出的话,应该是你设置的Heap size太小了。增大Heap的大小也是必须的。

如果是xls的,用JExcel会比POI省内存。但它不支持2010。

原创文章,作者:ZFTP,如若转载,请注明出处:https://www.506064.com/n/139336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
ZFTPZFTP
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python创建分配内存的方法

    在python中,我们常常需要创建并分配内存来存储数据。不同的类型和数据结构可能需要不同的方法来分配内存。本文将从多个方面介绍Python创建分配内存的方法,包括列表、元组、字典、…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29

发表回复

登录后才能评论