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 the difference between the paint() and repaint() methods in java programming?
What is the difference between call by reference and call by pointer?
Is there any difference between synchronized methods and synchronized statements?
Can I learn java without any programming experience?
what is thread? : Java thread
What if the main() method is declared as private? What happens when the static modifier is removed from the signature of the main() method?
How do you sort a set in java?
What are mutable classes?
What is jee6?
What is the difference between import java.util.date and java .util?
Does sprintf add a null terminator?
How many bytes is string in java?
How you can force the garbage collection?
Can you pass by reference in java?
What is the statements?