【发布时间】:2023-03-31 16:44:01
【问题描述】:
我有以下要求: 我需要解压缩一个 zip 或 tar.gz 文件。此代码将运行的目标平台是 AEM 6.1 环境。该系统过去存在一些性能问题。特别是内存使用率非常高。因此我必须节省内存。 zip/tar.gz 文件包含一些文本文件、SVG、PNG 和 EPS 文件以及更多我不需要的文件。存档文件将被下载并作为 ByteArrayInputStream 提供。
我做了一些研究并试图弄清楚,这是最好的方法。 Apache commons 提供库来解压缩档案以及 JDK。但我想不通,什么实现使用更少的内存。
我认为,如果我能在压缩文件仍处于压缩状态时打开它,并分别读取和解压缩包含的文件,那将是最好的。因此,我只需将压缩存档及其包含文件之一保存在内存中。
但我不确定,哪个实现提供了这种可能性,或者是否有更好的方法来做到这一点。
有什么好的建议吗?
谢谢你和最好的问候。
【问题讨论】:
-
您是否尝试过任何选项并测量内存使用情况?
标签: java performance memory aem archive