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 are JVM.JRE, J2EE, JNI?
What does || || mean in math?
Write a program in java to create a doubly linked list containing n nodes.
How can constructor chaining be done by using the super keyword?
What is length in java?
Which variables are stored in heap?
Why is java logo a cup of coffee?
What are the two parts of a conditional statement?
What is super keyword explain with example?
I want to persist data of objects for later use. What’s the best approach to do so?
Is ++ operator is thread safe in java?
Write a program based on Java script program.
Can java list be null?
Can we convert integer to string in java?
Can we have more than one package statement in source file ?