There is a feature in HotSpot called CDS, or Class Data Sharing. But in some articles (by Oracle team themselves, btw!). They mention CDS being an abbreviation of Class Data Storage and Cached Data Storage. So now we have three of them:
So, my questions are:
From this sources:
They represent almost (!) the same feature in HotSpot. The key points are:
Class Data Sharing
== Class Data Storage
. They are indeed the different names for the same feature. The first one is used more frequently.Cached Data Storage
is an evolution of the Class Data Storage/Sharing
. The idea is that it extends the functionality of Class Data Storage/Sharing
, in the sense that now Cached Data Storage
also stores shared information, not only related to Java classes, the direct quote from an issue:As a matter of history, CDS has been built into the HotSpot VM [since JDK 5] in 2004. At first its expanded name was “Class Data Sharing”, which is reflected in options like
-Xshare:…
. Over the years it has expanded its capabilities beyond the storage of shareable class data, so the preferred alternative expansion for CDS is now “Cache Data Storage”. Either expansion refers to the same technology.
P.S: Here you can see the JEP 483, where Class Data Storage/Sharing
evolved into Cached Data Storage
.