Currently both CDS and AOT assumes that the VM starts in an empty state, and classes are loaded incrementally as they are referenced by the app. This results in a large number of run-time checks to ensure that the classes loaded by the app are the same as those used when the CDS/AOT caches were created. These checks slows down start-up, and also make the caches larger than usual.
We should prototype a snapshot model, when a set of classes are already loaded before the VM executes any bytecodes. This will allow us to skip a significant portion of the run-time checks.
We should prototype a snapshot model, when a set of classes are already loaded before the VM executes any bytecodes. This will allow us to skip a significant portion of the run-time checks.