今天在测试“生成报告“功能时,出现了这个问题,java抛出java.lang.OutOfMemoryError: Java heap space:

由于开发使用的tomcat是统一配置的,而且其他地方的文件生成功能正常,所以排除jvm配置的问题,根据java日志,发现还是代码问题

StringBuffer buf=new StringBuffer();
FileOutputStream fos=null;
BufferedWriter bw=null;
while(if((temp=br.readLine())!=null)){
buf.append(temp);
buf.append("\n");
}
buf.append(filein);
fos=new FileOutputStream(file);
OutputStreamWriter osw=new OutputStreamWriter (fos,"UTF-8");
bw=new BufferedWriter(osw);
bw.write(buf.toString());
bw.flush(); object.close()...

以上是部分代码,问题出在bw.write(buf.toString());buf.toString()上,由于filein字符串很大,buf拼接后toString()出现堆溢出

解决办法是设置一个临界值,当filein大小达到临界值,就做一次写操作,由于要分段写,

fos=new FileOutputStream(file,true);改成追加模式。

stringbuffer.tostring引发的 Java heap space的更多相关文章

  1. BUGFIX 09 - 记一次Java中String的split正则表达式匹配 - 引发`OutOfMemoryError: Java heap space`的oom异常 排查及解决 -Java根据指定分隔符分割字符串,忽略在引号里面的分隔符

    问题简述 说白了,Java根据指定分隔符分割字符串,忽略在引号(单引号和双引号)里面的分隔符; oom压测的时候,正则匹配"(?=(?:[^\"]*\"[^\" ...

  2. 应用jacob组件造成的内存溢出解决方案(java.lang.OutOfMemoryError: Java heap space)

    http://www.educity.cn/wenda/351088.html 使用jacob组件造成的内存溢出解决方案(java.lang.OutOfMemoryError: Java heap s ...

  3. Java heap space

    //首先检查程序有没有限入死循环 这个问题主要还是由这个问题 java.lang.OutOfMemoryError: Java heap space 引起的.第一次出现这样的的问题以后,引发了其他的问 ...

  4. java.lang.OutOfMemoryError: Java heap space内存不足问题

    今晚,在定义一个new int[19001][13001]的数组时候内存不够:特转了一下方法: Exception in thread "main" java.lang.OutOf ...

  5. java.lang.OutOfMemoryError: Java heap space解决方法 (有问题咨询加微信)

    支付宝扫码领取最高99元红包,到店支付15天,双十二瓜分15亿,打开支付宝首页搜“555176706”领红包,领到大红包的小伙伴赶紧使用哦! //首先检查程序有没有限入死循环 这个问题主要还是由这个问 ...

  6. OutOfMemoryError系列(1): Java heap space

    每个Java程序都只能使用一定量的内存, 这种限制是由JVM的启动参数决定的.而更复杂的情况在于, Java程序的内存分为两部分: 堆内存(Heap space)和 永久代(Permanent Gen ...

  7. 排查sqoop报错:Error running child : java.lang.OutOfMemoryError: Java heap space

    报错栈: -- ::, INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: = AND = -- ::, INFO [mai ...

  8. Java_异常_05_ OutOfMemoryError: Java heap space

    一.异常现象: 二.异常原因 JAVA的堆栈设置太小 注: 出现此异常之后,会引发其他的问题. 三.异常解决 手动设置Heap size: 修改 TOMCAT_HOME/bin/catalina.sh ...

  9. JMeter内存溢出:java.lang.OutOfMemoryError: Java heap space解决方法

    一.问题原因 用JMeter压测,有时候当模拟并发请求较大或者脚本运行时间较长时,JMeter会停止,报OOM(内存溢出)错误. 原因是JMeter是一个纯Java开发的工具,内存由java虚拟机JV ...

随机推荐

  1. Linux系统层级结构标准

    Linux Foundation有一套标准规范: FHS: Filesystem Hierarchy[‘haɪərɑːkɪ] Standard(文件系统层级标准)目前最新的标准是2.3版本:http: ...

  2. linux学习:【第4篇】之nginx

    一.知识点回顾 临时:关闭当前正在运行的 /etc/init.d/iptables stop 永久:关闭开机自启动 chkonfig iptables off ll /var/log/secure # ...

  3. Python在VSCode环境抓取TuShare数据存入MongoDB环境搭建

    本文出自:https://www.cnblogs.com/2186009311CFF/p/11573094.html 总览 此文分为5个部分 第一:Anaconda(下载和安装) 第二:VSCode( ...

  4. C# 输出双引号

    Response.Write("前一页面的标题是:\"" +Page.PreviousPage.Title.ToString()+"\"") ...

  5. HDU 6191 Query on A Tree ( 2017广西邀请赛 && 可持久化Trie )

    题目链接 题意 : 给你一棵树.树上的每个点都有点权.之后有若干次问询.每次问询给出一个节点编号以及一个整数 X .问你以给出节点为根的子树中哪个节点和 X 异或最大.输出这个值 分析 : 看到这种树 ...

  6. 【杂题】[AGC034D] Manhattan Max Matching【费用流】

    Description 有一个无限大的平面,有2N个位置上面有若干个球(可能重复),其中N个位置是红球,N个位置是蓝球,红球与蓝球的总数均为S. 给出2N个位置和上面的球数,现要将红球与蓝球完美匹配, ...

  7. matplotlib绘图时显示额外的“figure”浮窗

    引自 https://blog.csdn.net/weixin_41571493/article/details/82690052 问题:现在默认的Pycharm绘图时,都会出现下面的情况: 不能弹出 ...

  8. Spark 电子书

    Spark最佳实践 (陈欢/林世飞著) 完整pdf扫描版[39MB]http://pan.baidu.com/s/1i4LNOVVSpark SQL编程指南 (Spark 官方文档翻译) 中文PDF版 ...

  9. C语言写数据库(三)

    遇到的问题以及解决思路方法 1.外部导入数据库文件 进入mysql,创建数据库sh_robot source /home/exbot/sh_robot.sql 查看数据库编码格式 show varia ...

  10. 多态:JVM是如何进行方法调用的

    在我们平时的工作学习中写java代码时,如果我们在同一个类中定义了两个方法名和参数类型都相同的方法时,编译器会直接报错给我们.还有在代码运行的时候,如果子类定义了一个与父类完全相同的方法的时候,父类的 ...