/Anonimizzato12057Utente anonimizzato07 lug 2014, 10:33Mettiamo di avere la classe A che contiene soltanto variabili (di tipi primitivi, quindi nello stack). Poi abbiamo la classe B che contiene le stesse variabili di A ma anche molte funzioni. La classe A serializzata occupa lo stesso spazio in memoria della classe B serializzata? Nella serializzazione delle classi rimangono soltanto i valori delle variabili o anche il codice e le funzioni? Dovrei serializzare una classe con parecchie funzioni e codice (ma ovviamente mi servono soltanto i valori delle variaibili), vorrei sapere se mi conviene creare una nuova classe che contenga soltanto le variabili della prima classe per risparmiare spazio in memoria.
MmigliorabileSuper FamosoIscritto daapr, 2013Messaggi626807 lug 2014, 14:39La serializzazione serializza solo i campi data, non il codice. Le due classi, in memoria, avranno la stessa dimensione. Le due classi, serializzate, richiederanno lo stesso numero di byte.
/Anonimizzato12057Utente anonimizzato07 lug 2014, 19:23Grazie! Un'ultima domanda. Ho la classe A con all'interno una variabile che referenzia la classe B. Ho anche la classe C con una variabile che referenzia la classe B. Quindi la situazione è questa: A --> B C --> B Serializzo A e C. Se entrambe le classi (A e C) referenziano la stessa istanza di B (quindi A e C "puntano" alla stessa istanza di B in memoria) cosa succede nella serializzazione? Quell'istanza (referenziata da A e C) sarà comunque duplicata (per ogni classe che la referenzia) oppure "capisce" che si tratta dello stesso oggetto?
OoregonSuper FamosoIscritto danov, 2011Messaggi2191707 lug 2014, 19:40Un riferimento è come un puntatore. Hai una sola istanza e quindi un solo oggetto.