On Wed, 5 Feb 2025 15:21:59 GMT, Roger Riggs <rri...@openjdk.org> wrote:
>> During JVM startup, the class KnownOIDs is loaded. KnownOIDs has 10 >> anonymous classes, which slows down the startup. This PR is to improve >> KnownOIDs and eliminate unnecessary embedded classes. >> >> >> Here's how to reproduce this: >> >> >> public class Startup { >> public static void main(String[] args) {} >> } >> >> >> >> java -verbose:class Startup >> >> >> >> [0.665s][info][class,load] sun.security.util.KnownOIDs >> [0.666s][info][class,load] sun.security.util.KnownOIDs$1 >> [0.667s][info][class,load] sun.security.util.KnownOIDs$2 >> [0.667s][info][class,load] sun.security.util.KnownOIDs$3 >> [0.668s][info][class,load] sun.security.util.KnownOIDs$4 >> [0.668s][info][class,load] sun.security.util.KnownOIDs$5 >> [0.668s][info][class,load] sun.security.util.KnownOIDs$6 >> [0.668s][info][class,load] sun.security.util.KnownOIDs$7 >> [0.669s][info][class,load] sun.security.util.KnownOIDs$8 >> [0.669s][info][class,load] sun.security.util.KnownOIDs$9 >> [0.669s][info][class,load] sun.security.util.KnownOIDs$10 > > src/java.base/share/classes/sun/security/util/KnownOIDs.java line 494: > >> 492: this.stdName = stdName; >> 493: this.registerNames = registerNames; >> 494: this.aliases = new String[0]; > > Unless this String[] needs to be unique, it would be sufficient to use the > same empty array everywhere. you are right, but accessing static field from enum constructor is not allowed ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23411#discussion_r1943285247