Quante volte abbiamo fatto un calcolo approssimativo della memoria occupata in RAM da una nostra classe?! Forse mai?!
Vediamo come fare a calcolare quanta memoria occupa una nostra classe java in un sistema a 64 bit.
In fig.1 possiamo vedere quanto spazio occupano i tipi di dato primari.
Ogni oggetto ha un overhead di 16 bytes, ogni riferimento (puntatore) occupa 8 bytes, poi rimane il padding che serve a portare il consumo di memoria dell’intero oggetto ad un multiplo di 8 bytes.
Vediamo un esempio di calcolo su una classe di esempio “MysteryBox”:
Come possiamo vedere, abbiamo calcolato lo spazio della classe MysteryBox in 600 bytes! 😉