On Sat, 11 Apr 2026 08:51:35 GMT, Eirik Bjørsnøs <[email protected]> wrote:
>> This PR reorganizes `java.util.zip.ZipCoder` class hierarchies to handle >> UTF-8 in the base class and move support for general charsets down to a >> subclass. This better reflects reality where most ZIP files are encoded >> using UTF-8. >> >> The motivation can be summarized as: >> >> * Supporting the common case in the base class and the exceptional case in a >> subclass seems more natural and intuitive for maintainers >> * We avoid loading both classes for most JVM instances >> * A small performance improvement is observed, probably caused by unlocking >> effecively-monomorphic JVM optimizations >> >> See core-libs-dev discussion for details: >> https://mail.openjdk.org/pipermail/core-libs-dev/2026-January/158281.html >> >> I have tried to not move methods around too much, making the side-by-side >> diff when ignoring whitespace easier to review. We can discuss further >> cleanups and reorganizaton if so desired. >> >> It may be useful to review commits individually. The first commit fe4a627 >> moves some methods out the way for the second commit 2926398. >> >> This PR also includes the similar change to the `ZipFileSystem` >> implementation of ZipCoder to keep these aligned. Could be pulled out to a >> separate PR if reviewers want to focus on a single area per PR. >> >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Eirik Bjørsnøs has updated the pull request incrementally with one additional > commit since the last revision: > > Make fields 'UTF8_INSTANCE' and 'cs' fields final src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipCoder.java line 65: > 63: } > 64: > 65: private static final ZipCoder utf8 = new ZipCoder(); "utf8" -> "UTF8", which is consistent with java.base's ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/30640#discussion_r3075659061
