相关疑难解决方法(0)

强制或生成jvm核心转储(IBM JVM)

可能重复:
我可以强制生成JVM崩溃日志文件吗?

如何在Java应用程序服务器上或一般情况下强制或生成JVM核心转储?

java apache websphere jvm java-ee

17
推荐指数
1
解决办法
7万
查看次数

石英多次执行后,Java Excel POI停止

我想对此有一些见解.

我有一个程序,可以从数据库读取和写入excel文件.它的执行基于使用Quartz api的计时器,并在每周的每周二触发.问题是,当我通过安排它每小时执行一次作业来测试它时,程序在编写excel文件的过程中几次执行后突然停止.这是我写的excel代码.

try {
        FileInputStream file = new FileInputStream(excelFile);
        POIFSFileSystem myFileSystem = new POIFSFileSystem(file);
        HSSFWorkbook workbook = new HSSFWorkbook(myFileSystem);
        HSSFSheet worksheet = workbook.getSheetAt(0);
        this.cellStyle00 = workbook.createCellStyle();
        HSSFDataFormat df = workbook.createDataFormat();
        this.cellStyle00.setDataFormat(df.getFormat("00"));

for(int i = 0;i<Access.size();i++){
         AccessorMethods SetGet = (AccessorMethods)
                    InstlibAccessor.get(i);

    HSSFRow row = worksheet.createRow(worksheet.getPhysicalNumberOfRows());
    HSSFCell cell = row.createCell(0);

    cell.setCellValue(new Double(SetGet.getOne()));
    cell.setCellStyle(cellStyle00);


  //other set value codes....

}
FileOutputStream fileOut = new FileOutputStream(fileName + ".xls");
workbook.write(fileOut);
 fileOut.flush();
 fileOut.close(); 

 //catch statements follow
 //end
Run Code Online (Sandbox Code Playgroud)

命令行输出和netbeans输出不表示任何错误,如内存不足等等.程序没有结束..它只是,停止..就像jvm正在进行无限循环...更多的光关于这个话题,这是我的程序的简要流程.

  1. 用户执行调度程序
  2. 在所需的时间,调度程序执行程序(调度程序和"程序"是两个不同的程序/ jar文件.调度程序只调用jar)
  3. 该程序首先创建excel文件
  4. 然后读取数据库1.数据库包含80K行
  5. 对于每一行,如果满足某个条件,它将读取数据库2和3
  6. 然后它一次将它存储在一个arraylist对象1000中(我试图避免任何内存问题,所以我按批次存储它)
  7. 然后我批量写,1000一次excel(这是它停止的部分) …

java profiling quartz-scheduler apache-poi

5
推荐指数
1
解决办法
1062
查看次数