Hi, The background of this bug is the anti-pattern of defining constants in interfaces. In this case all the constants defined in package private interface ZipConstants are being exposed as public fields of the classes that implements it. This is JDK 1.0 era design/implementation, something we can't reverse any more for compatibility concern. However it appears reasonable to not further add more new constants into this interface class while it might be a logical place for them. The proposed change here is to move these constants (all added in jdk8) to ZipConstants64.java, with comment add for why they are there, so these constants will be kept as an implementation details.
http://cr.openjdk.java.net/~sherman/8024338/webrev Thanks, -Sherman