Since JDK-8294323, by default, the CDS archive is mapped at a randomized address (on systems that support ASLR). As a result, the CDS core regions need to be relocated.
The time spent in relocation can be reduced:
- By segregating objects that do not have any relocatable pointers. This makes the relocation bitmap scanning more efficient. It also makes some mmaped pages shareable via copy-on-write
- By changing some data structures from using pointers to using offsets. E.g., DumpTimeLambdaProxyClassInfo and LambdaProxyClassKey