The Java 9 solution

CDS archives, starting with Java 9, allocate specific space on the heap for strings. This process is illustrated in the following diagram:

The string space is mapped using a shared-string table, hash tables, and deduplication.

Deduplication is a data compression technique that eliminates duplicative information in an archive.