8184917: System.initPhase1 does not need to pre-load libzip

Alan Bateman Alan.Bateman at oracle.com
Wed Jul 19 13:47:18 UTC 2017

System.initPhase1 (formerly initializeSystemClasses) currently pre-loads 
the zip library. I'd like to drop this in jdk10/jdk10 so that it is 
loaded lazily and so reduce the code executed in this phase of startup. 
One motivation is that the zip code no longer uses native methods in 
libzip to access zip files, it is only now needed when 
inflating/deflating or for checksums. Another motivation is that jlink 
can be used to create runtime images that contain the main application 
and all modules that is needed (there is no class path or module path 
with JAR files in these cases and libzip is only needed if the image is 
created with compression).

The changes are trivial but something for early in a release to shake 
out any issues (attempts to touch this code in this past ended in tears 
due to bootstrapping issues, all issues that are in the past now).


More information about the core-libs-dev mailing list