RFR: 8349400: Improve startup speed via eliminating nested classes

Shaojin Wen swen at openjdk.org
Tue Feb 4 23:10:34 UTC 2025


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

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

Commit messages:
 - Eliminating nested classes

Changes: https://git.openjdk.org/jdk/pull/23411/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23411&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8349400
  Stats: 58 lines in 1 file changed: 10 ins; 33 del; 15 mod
  Patch: https://git.openjdk.org/jdk/pull/23411.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23411/head:pull/23411

PR: https://git.openjdk.org/jdk/pull/23411


More information about the security-dev mailing list