Problemas de memoria con la serializacion.
Tengo una aplicacion que necesita guardar la informacion que le llega por el socket en un fichero, por si la aplicacion cae y tengo que recuperar un estado seguro. Esto lo hago mediante el serializado el objeto que guarda el mensaje qu he recibido. El problema esta en que esto empieza a consumir memoria y el GC no la libera. Si comento la linea del writeObject, el gasto de memoriade la aplicacion no sube nada lleguen los mensajes que lleguen.
Sabeis como puedo solucionar esto del serializado??
Gracias...
Sabeis como puedo solucionar esto del serializado??
Gracias...
Si el objeto es muy grande, necesitaras aproximadamente el doble de memoria de la que ocupa el objeto (el objeto y su serializacion). Para que la VM no pete por falta de memoria, utiliza los argumentos -Xmx??? y ponle en megas la cantidad de memoria maxima para la VM. 256, 512, ... Despues de serializar, cerrar el fichero y eliminar la referencia al objeto, la memoria deberia liberarse. Puedes animar al GC para que actue antes llamando a System.gc();