RFR: 8376403: Avoid loading ArrayDeque in java.util.zip.ZipFile [v3]
Eirik Bjørsnøs
eirbjo at openjdk.org
Tue Jan 27 09:34:10 UTC 2026
On Tue, 27 Jan 2026 09:30:19 GMT, Eirik Bjørsnøs <eirbjo at openjdk.org> wrote:
>> Hot on the heals of #29288, this PR replaces `ArrayDeque` with `ArrayList` for the Inflater cache implementation in `ZipFile.CleanableResource`.
>>
>> With this PR, we change the order of the cache from a LIFO queue to a FIFO stack backed by ArrayList. The order seems unimportant, and has indeed been FIFO in the past when using `java.util.Vector`. Intuitively, it should be better to return the most recently used Inflater.
>>
>> No tests updated, strict refactoring, `noreg-cleanup`.
>
> Eirik Bjørsnøs has updated the pull request incrementally with one additional commit since the last revision:
>
> Remove null check of final field istreams which is never null
src/java.base/share/classes/java/util/zip/ZipFile.java line 764:
> 762:
> 763: // Close streams, release their inflaters
> 764: if (istreams != null) {
Small additional fix to remove unnecessary null check of the final, definitely assigned field `istreams`.
Unrelated to issue at hand, included here since it is close code and to avoid the PR churn for such a trivial cleanup if fixed separately.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29430#discussion_r2731082663
More information about the core-libs-dev
mailing list