In computer programming, transient is a property of any element in the system that is . The term applies to transient applications, i.e. software for the end-user which is displayed with a transient application posture; transient data, which is discarded after it is no longer needed by the computation; and transient code which are subroutines or software components that are loaded in the system only for a fraction of the total run time.
Examples of applications of the term are described below.
In the Java programming language, transient
is a keyword used as a field modifier. When a field is declared transient, it would not be serialized even if the class to which it belongs is serialized. In Java, methods, classes and interfaces cannot be declared as transient, because they are never serialized.
In Hibernate and other persistence systems, transient describes an object that has been instantiated, but is not associated with a Hibernate session, i. e. the object resides in memory but is not being persisted.
In the X Window System, a window is said to be transient for another window if it belongs to that other window and may not outlast it: a dialog box, such as an alert message, is a common example. This should not be confused with a window containing another window: contained windows lie entirely within their parents, but transients are separate windows which can generally be moved freely around the screen. Transient windows may be treated specially by the window manager, and unlike top-level windows (which can require user placement, as in twm), must never require any user interaction on appearing.
Transient also refers to a module that, once loaded into main memory, is expected to remain in memory for a short time. Today, the term is rarely used, and may be obsolete. The term Overlay is commonly used instead, and refer to a program module that is brought to memory when it is needed by the running program and then replaced with another when it is no longer needed, so a program had lower memory requirements. Program modules were written to allow different modules to share the same memory region and the main program itself was responsible of exchanging modules between disk and memory as necessary.