我正在使用 IText 生成 PDF,并注意到我使用的服务器似乎随着时间的推移内存不足。我已经关闭了使用 IText 的功能,并且服务器看起来还不错 - 所以我相当确定我的 IText 实现中有一些东西会导致内存泄漏。这是我的 IText 结构:
Document document = new Document(PageSize.A4);
file = new File("/tmp/Hotel-Fax-" + voucher.getVoucherID() + ".pdf");
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
writer.setStrictImageSequence(true);
document.open();
PdfContentByte cb = writer.getDirectContent();
//Some methods here which just create PDFPTables and add some text / images
cb.stroke();
document.close();
return file;
我想知道即使我关闭了文档,我的 PdfWriter 或 PdfContentByte 是否会以某种方式保留内存,这意味着下次调用代码时,它只会创建新对象并且内存最终会耗尽?