我在web应用程序(tomcat上的spring应用程序)中使用pdfbox(2.0.19 ),我遇到了一些内存问题(高消耗,5页pdf 700 go,将导致内存从250 go提高到800 go),这是使用openjdk8,但当我改为openjdk11时,内存消耗减少到490 go~500 go。
基本上,我以byte[]的身份从web下载pdfs,然后将这些byte[]传递给一个函数,该函数以PDDocument的形式打开每个函数,并将这些页面合并到新的PDDocument中。(我知道所有的文件都在内存中,但是即使我把下载的文件写到磁盘上,也会产生不同的效果)
我的问题是,pdfbox(2.0.19)是否推荐使用JDK版本,如果有任何配置或GC参数,我应该考虑尽可能地优化内存消耗吗?
发布于 2020-07-19 15:31:46
@Tilman Hausherr在上面的评论中提到,使用pdfbox的最新版本,jdk,.推荐etc,对内存消耗和整体性能有很大影响。
对于内存中的和写到磁盘的部分:
与内存中或写到磁盘的方法相比,使用
PDDocument
是最好的。https://stackoverflow.com/questions/61729140
复制相似问题