RFR: 8349400: Improve startup speed via eliminating nested classes

Valerie Peng valeriep at openjdk.org
Thu Feb 6 23:05:10 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 486:

> 484:         this.oid = oid;
> 485:         this.stdName = stdName;
> 486:         this.registerNames = true;

nit: can you initialize the fields in the same order for all the constructors?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/23411#discussion_r1945592387


More information about the security-dev mailing list