Answer Posted / manodeep pandey
Java defines two interesting type modifiers: transient and
volatile. These modifiers are used to handle somewhat
specialized situations.
When an instance variable is declared as transient, then
its value need not persist when an object is stored. For
example:
class T {
transient int a; // will not persist
int b; // will persist
}
Here, if an object of type T is written to a persistent
storage area, the contents of a would not be saved, but the
contents of b would. The volatile modifier tells the
compiler that the variable modified by volatile can be
changed unexpectedly by other parts of your program. One of
these situations involves multithreaded programs. In a
multithreaded program, sometimes, two or more threads share
the same instance variable. For efficiency considerations,
each thread can keep its own, private copy of such a shared
variable. The real (or master) copy of the variable is
updated at various times, such as when a synchronized
method is entered. While this approach works fine, it may
be inefficient at times. In some cases, all that really
matters is that the master copy of a variable always
reflects its current state. To ensure this, simply specify
the variable as volatile, which tells the compiler that it
must always use the master copy of a volatile variable (or,
at least, always keep any private copies up to date with
the master copy, and vice versa). Also, accesses to the
master variable must be executed in the precise order in
which they are executed on any private copy.
| Is This Answer Correct ? | 5 Yes | 1 No |
Post New Answer View All Answers
What is qualitative variable?
What are the difference between composition and inheritance in java?
What is the ==?
What is difference between classpath and path variables in java?
How we can run a jar file through command prompt in java?
What is defined as false sharing in the context of multithreading?
What is the driver class?
Differentiate between class and structure.
Can I learn java without any programming experience?
What is maximum size of arraylist in java?
What is the full name of java?
How can we find the actual size of an object on the heap?
Is void a type?
What is contract between hashcode and equal method?
What are inner classes or non static nested classes in java?