GeeCON 2018: Volker Simonis – Class Information Sharing within the HotSpot VM

2



Class Information Sharing (CDS) is a characteristic launched in Java 5 to enhance startup efficiency and cut back the reminiscence footprint of Java by storing the preprocessed class metadata of system lessons on disk and sharing it between digital machines. Over the last years, CDS has been consistently improved. In OpenJDK 10, CDS can be prolonged by AppCDS which moreover permits sharing of utility lessons between VM situations (see JEP 310: ‘Utility Class-Information Sharing’). On this discuss I’ll briefly introduce CDS and AppCDS and show how it may be used. Whereas CDS is effectively documented, the utilization of AppCDS with utility lessons and customized class loaders nonetheless requires numerous hand crafting so I will introduce a small device which helps automating these duties. After presenting some reminiscence consumption and efficiency numbers, I’ll do a brief deep-dive into the implementation particulars and describe a few of the challenges. Lastly, I’ll briefly present how Strings and Symbols will be saved within the CDS archive and shared throughout VM as effectively since OpenJDK 9. After the discuss, the viewers ought to have a greater perceive of CDS/AppCDS and have the ability to determine whether or not it is sensible to make use of it for their very own functions.

source