in a java virtual machine in which information is gathered about what sections of code get used most frequently in an embedded application . this information comprises binary data which is saved into non - volatile random access memory . the binary data is compressed for storage . at a subsequent startup , the stored compressed data is retrieved and decompressed and written to a volatile memory .