我面临PDFBOX的一个大问题:我试图加载10Mb(test.pdf)的文件,并且我需要400 Mb才能在JVM上加载它:
这是代码示例:

    final File mainFile = new File(
            "C:/test.pdf");
    System.out.println("File size: " + mainFile.length());
    try {
        PDDocument doc = PDDocument.load(mainFile);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println("Used Memory: " +  (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()));
}


那正常吗?

最佳答案

不,那是不正常的。

我注意到您尚未关闭文档(必填,请阅读documentation)。也许是在多次运行中积累的。您也不会在加载文档之前提及内存使用情况。

07-27 19:55