La persistencia en memoria es la capacidad de un dato u objeto para seguir existiendo tras determinadas operaciones.
La operación más común que se presta a la persistencia en memoria es la asignación.
Existen dos ideas respecto de lo que debe suceder con un dato, estructura u objeto una vez asignado desde el original.
Un tipo de dato que utiliza este método se dice que tiene persistencia si cuando se elimina uno de los punteros, los datos siguen aún en memoria.
El tipo de datos, por tanto, sólo es realmente eliminado cuando la cuenta del contador llega a cero (0); es decir, cuando no tiene referencias apuntando a los datos.
Para verificar que son la misma referencia, después de ver que en la primera (1ª) asignación a dia es domingo (hasta este momento no hay razones para pensar si hubo una copia o son la misma referencia), añadimos luego un nuevo ítem a la segunda (2ª) colección.
Finalmente eliminamos una de las colecciones y observamos cómo la otra aún tiene acceso a los datos.
Por lo tanto, deberán permanecer almacenados en memoria que no sea volátil.
Se puede citar, a modo ejemplo, un fichero que está almacenado en disco.
Cuando se instancia una referencia al control, este lee del disco (donde está almacenada la librería asociada al control) los datos que definen y configuran sus propiedades.
Este objeto puede ahora ser guardado y ser utilizado las próximas veces como una primitiva, un punto a partir del cual iniciar la creación de otros objetos más complejos basados en este.