PDFBox 最佳 java 版本
PDFBox best java version
我在网络应用程序中使用 pdfbox(2.0.19)(spring 应用程序在 tomcat),我有一些内存问题(高消耗,5 页 pdf 700KB,会导致内存从250MB上升到800MB),这是使用openjdk8,但是当我换成openjdk11时,内存消耗减少到490MB~500MB。
基本上,我从网上下载 pdf 作为 byte[],然后将这些 byte[] 传递给一个函数,该函数将每个作为 PDDocument 打开,并将这些页面合并到新的 PDDocument。 (我知道所有都在内存中,但即使我将下载的文件写入磁盘也会有所不同)
我的问题是,是否有推荐的 JDK 版本与 pdfbox(2.0.19) 一起使用,是否有任何配置或 GC 参数我应该考虑优化内存消耗我可以吗?
正如@Tilman Hausherr 在上面的评论中提到的,建议使用最新版本的 pdfbox,jdk,...等,这对内存消耗和整体性能有巨大影响。
对于内存中与写入磁盘部分:
- 与内存或写入磁盘方法相比,使用
scratchFile
打开 PDDocument
是最好的方法。
我在网络应用程序中使用 pdfbox(2.0.19)(spring 应用程序在 tomcat),我有一些内存问题(高消耗,5 页 pdf 700KB,会导致内存从250MB上升到800MB),这是使用openjdk8,但是当我换成openjdk11时,内存消耗减少到490MB~500MB。
基本上,我从网上下载 pdf 作为 byte[],然后将这些 byte[] 传递给一个函数,该函数将每个作为 PDDocument 打开,并将这些页面合并到新的 PDDocument。 (我知道所有都在内存中,但即使我将下载的文件写入磁盘也会有所不同)
我的问题是,是否有推荐的 JDK 版本与 pdfbox(2.0.19) 一起使用,是否有任何配置或 GC 参数我应该考虑优化内存消耗我可以吗?
正如@Tilman Hausherr 在上面的评论中提到的,建议使用最新版本的 pdfbox,jdk,...等,这对内存消耗和整体性能有巨大影响。
对于内存中与写入磁盘部分:
- 与内存或写入磁盘方法相比,使用
scratchFile
打开PDDocument
是最好的方法。