in the context of softwarePersistence is the property of an object by which its lifetime becomes permanent and thus independent of the execution of the generating program. Persistent objects have a potentially infinite lifetime and can only be deleted again by explicitly calling a special method, e.g. the destructor. They are administered therefore in permanent memory systems e.g. object-oriented data base systems. Classes are static descriptions of a set of objects. The collection of classes describes an object-oriented program. The program itself consists of the objects, which bring the program to the expiration by their exchange of messages among themselves. For different reasons it is necessary and desirable to interrupt a program at a certain place and to let it restart at this place. For this the data computed during the program run must be stored suitably. In object-oriented programming, this mainly concerns the objects with all the links existing between them. Persistence is the property of objects to exist in their identity, state and description beyond the runtime of the program. Of course, the simplest way to achieve this would be for each object to know how to store and re-identify itself. In fact this is achieved by the fact that in most programming languages there are generally available parent classes, which make exactly these functionalities available. Persistence of objects becomes the problem, if class descriptions change, but the same stored data are to be further used. With this problem area above all object-oriented data bases concern themselves. An interesting problem in this context is the frequent demand for the use of relational database management systems in connection with the object-oriented structure of a system. This usually leads to another layer in the architecture of a system, which converts objects into relations and vice versa.
Persistence as a synonym for non-volatilePersistence is also used as a synonym for non-volatile. Thus for the distinction between data that is stored in volatile memory, such as random access memory( RAM), and is lost in the event of a power failure, and data that is permanently stored in non-volatile memory, such as magnetic storage media or flash memory, and remains present even in the event of a power failure.