Conosco i vantaggi dei campi pigri quando per alcuni motivi è necessaria una valutazione dei valori posticipata. Mi chiedevo quale fosse il comportamento dei campi pigri in termini di serializzazione.Come funziona la serializzazione dei campi pigri?
Considerare la seguente classe.
class MyClass {
lazy val myLazyVal = {...}
...
}
Domande:
- Se un'istanza di MyClass è serializzato, fa il campo pigro ottenere serializzato troppo?
- Il comportamento della serializzazione cambia se al campo è stato effettuato l'accesso o meno prima della serializzazione? Voglio dire, se non causo la valutazione del campo, è considerato come nullo?
- Il meccanismo di serializzazione provoca una valutazione implicita del campo pigro?
- C'è un modo semplice per evitare la serializzazione della variabile e ottenere il valore ricalcolato ancora una volta pigramente dopo la deserializzazione? Questo dovrebbe accadere indipendentemente dalla valutazione del campo.
quello che fare mea n per "serializzazione"? Spero tu non stia usando la serializzazione java standard in scala. Quale libreria di serializzazione stai usando? –