高手请进100分问题(java.lang.OutOfMemoryError perGen space)

jackyluck 2007-10-27 11:23:11
我现在正进行一个项目,运行技术是:NetBean+Hibernate+jboss portal +Jsp + JsF + iReport

功能描述:当用户在jsp页面按查找Button时调用管理Bean的一个动作方法(pring()),然后反回面页显示数据
,同时显示一条超连接,当用户按连接就调用一个Servelt下载pdf文件

问题描述:1.按查找Button在页面显示数据后,2.再按下载连接就报:java.lang.OutOfMemoryError PermGen space
经调试发现:如果单独做下载或显示荔能是没有问题的,但如果先做了显示功能后再做下载就报outofmenoryerror错了
高手们帮我看下
代码:
//=============================管理bean的spring()===================================
Configuration configuration = new Configuration().configure();
SessionFactory SessionFactory =configuration.buildSessionFactory();
Session session = SessionFactory.openSession();
Transaction tran = session.beginTransaction();
Query query = session.createQuery("from per as c where c.namet=:pername");
query.setString("pername",this.getName());
List pers = query.list();
this.setPers(pers);
session.close();
this.setMessage("Pring ok");
//=================================下载功能:Servelt==================================
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment;filename="+"iReport.pdf");

String name =request.getParameter("name2");
String info =request.getParameter("info");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/manage", "root", "jacky");

//ireport 提拱的代码
JasperReport jasperReport;
JasperPrint jasperPrint;
jasperReport = JasperCompileManager.compileReport("d:/MyFristIreport.jrxml");
HashMap map = new HashMap();
map.put("sq",this.getName());

//先做显示后做下载功能时就这这里过不了,单调用时没有事
jasperPrint = JasperFillManager.fillReport(jasperReport,map,con);
byte[] b = JasperExportManager.exportReportToPdf(jasperPrint);


java.io.OutputStream os = response.getOutputStream();
os.write(b,0,b.length);
os.flush();
os.close();
...全文
622 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitbug 2007-11-30
  • 打赏
  • 举报
回复
修改:MaxPermSize参数
wazj0517 2007-11-29
  • 打赏
  • 举报
回复
我觉得应该原来就有的吧,我开始一个项目用TOMCAT会出OutOfMemoryError ,换jboss就OK了
mxm_1123 2007-10-27
  • 打赏
  • 举报
回复
在 run.bat 中加入:-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

因为项目中引用了很多的 jar 包,而这些 jar 包中的 class 信息会被 JBoss 的 class loader 加载到 PermGen space 区域,在 JVM 默认的情况下,该部分空间的大小只有 4M,在 jar 包非常多的情况下,显然是不够用的,所以通过 -XX:MaxPermSize=256m 指定最大值后即可解决问题。

另外,如果 heap 内存不足出现 java.lang.OutOfMemoryError: Java heap space 时,可以通过 -Xmx512m 指定最大 heap 内存来解决这样的问题。
源码下载地址: https://pan.quark.cn/s/0d6e3002ba51 ### IR2110中文资料知识点详述 #### 一、概述 IR2110是一种专为脉冲宽度调制应用而设计的高性能驱动集成电路,在各类功率转换设备中具有广泛的应用,特别是在需要实现隔离驱动的场景下表现出色。该芯片融合了光电隔离与电磁隔离的优势,能够达成快速响应并保持较小的物理尺寸,尤其适合用于中小功率的变换装置。 #### 二、IR2110内部结构与特点 **1. 内部结构** - **封装形式**:采用DIP14引脚封装。 - **内部组成**:由逻辑输入单元、电平平移单元以及输出保护单元这三个主要部构成。 - **悬浮电源**:借助自举电路实现,使得高端工作电压最高能够达到500V,支持±50V/ns的电压变化率。 - **工作电压范围**:逻辑电源电压范围为5~15V,输出电源端电压范围为10~20V,易于与其他逻辑电平进行匹配。 - **工作频率**:最高可达到500kHz。 - **功耗**:在15V条件下静态功耗仅为116mW。 - **延迟时间**:导通延迟120ns,关断延迟94ns。 - **峰值输出电流**:图腾柱输出峰值电流为2A。 **2. 特点** - **独立输入通道**:具备独立的低端和高端输入通道配置。 - **兼容性**:逻辑电源地与功率地之间允许±5V的偏移量,便于与TTL或CMOS电平进行匹配。 - **自举电源**:内置自举电源电路,有效减少驱动电源的数量,从而简化电路设计。 - **高dv/dt能力**:具有较强的dv/dt抑制能力,适合高频开关应用。 - **低功耗**:工作状态下功耗较低,有利于提升整体效率。 #### 三、高压侧...

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧