私は以下の要件を持っています: zipまたはtar.gzファイルを解凍する必要があります。このコードが実行されるターゲットプラットフォームは、AEM 6.1環境です。これまでシステムにはいくつかのパフォーマンス上の問題がありました。特に、メモリ使用量は非常に高かった。したがって私は記憶を救う必要があります。 zip/tar.gzファイルには、いくつかのテキストファイル、SVG、PNG、EPSファイル、および必要のないファイルが含まれています。アーカイブファイルはダウンロードされ、ByteArrayInputStreamとして利用可能になります。Java:メモリー使用量の少ないファイル(zipまたはtar.gz)を解凍する方法は?
私はいくつかの研究を行い、それを行う最善の方法を理解しようとしました。 Apacheコモンズは、アーカイブとJDKをアンパックするためのライブラリを提供します。しかし、どの実装でメモリを少なくするかはわかりませんでした。
まだ圧縮されている間にアーカイブを開いて、そのファイルを個別に読み込んで展開するのが最善の方法だと思います。だから私は、圧縮されたアーカイブとそれを含むファイルの一つをメモリに入れておくだけです。
しかし、どの実装がこの可能性を提供しているのか、それを行うためのよりよい方法があるかはわかりません。
誰かに良いアドバイスがありますか?
ありがとうございます。 JDKから
オプションと測定されたメモリの使用は試しましたか? – Jens