There is some room to improve the current launching mechanism, here are some
1. there a few places in the java launching code, where a lot of JNI
calls are made, these can be refactored into java and simplify and thereby
reduce JNI transitions.
2. the java launcher tends to use JNI_FindClass to find classes that the launcher
needs to initialize and process, these calls can be replaced by the JVM_FindBootClass,
when we know for sure the classes we need are in the boot classpath. The trouble with
JNI_FindClass is that it will use the System.loadClass, which in turn will needlessly
search the Application Classpath for Boot Classes, by doing this we might also get
a small startup improvement.
1. there a few places in the java launching code, where a lot of JNI
calls are made, these can be refactored into java and simplify and thereby
reduce JNI transitions.
2. the java launcher tends to use JNI_FindClass to find classes that the launcher
needs to initialize and process, these calls can be replaced by the JVM_FindBootClass,
when we know for sure the classes we need are in the boot classpath. The trouble with
JNI_FindClass is that it will use the System.loadClass, which in turn will needlessly
search the Application Classpath for Boot Classes, by doing this we might also get
a small startup improvement.
- duplicates
-
JDK-6694671 "check your installation" mesage for invoking a class without main()
-
- Closed
-
-
JDK-6749732 Launcher error handling from VM initialization can lead to crash on termination
-
- Closed
-
- relates to
-
JDK-6758881 (launcher) needs to throw NoClassDefFoundError instead of JavaRuntimeException
-
- Closed
-