RFR: 8349400: Improve startup speed via eliminating nested classes
Roger Riggs
rriggs at openjdk.org
Wed Feb 5 15:24:16 UTC 2025
On Sun, 2 Feb 2025 19:35:03 GMT, Shaojin Wen <swen at 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.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23411#discussion_r1943166687
More information about the security-dev
mailing list