Si tengo una instancia de una clase que almaceno en una sesión, necesito que sea serializable. Esta clase tiene una variable estática, ¿se serializará en cada instancia almacenada?¿cómo funciona serializable en Java?
La variable estática es una referencia a una memoria caché que contiene una gran cantidad de datos en segundo plano. ¿Se serializarán todos estos datos? De ser así, parece preferible hacer que esta variable sea transitoria y recuperar la instancia de caché cada vez que se restaure la instancia. Tal vez no almacene la instancia de caché en absoluto en la clase.
¿El constructor se ejecuta cuando una clase se restaura desde un estado serializado? si no, ¿hay algún otro método que pueda usar para volver a instalar una variable transitoria?
El constructor no-arg de la super clase no serialisable más derivada se ejecuta, pero no los constructores de las clases serializados. 'readObject' (o' readObjectNoData' puede reemplazar la deserialización predeterminada (vea los documentos API). –
@Tom, reemplace? Entonces, si implemento uno de esos métodos, ¿debo manejar toda la serialización yo solo? – KTrum
Trumstedt Generalmente lo haría suministro (no anulación) 'readObject'. Lo primero que el método debería hacer es llamar a' defaultReadObject' o 'readFields'. –