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 difference between equals and ==?
How can we use primitive data types as objects?
how can you catch multiple exceptions in java?
what is heap memory?
What are jee technologies?
Why runnable interface is used in java?
What will happen to the exception object after exception handling?
What Is Composition?
Can we make main() thread as daemon?
String and stringbuffer both represent string objects. Can we compare string and stringbuffer in java?
What is an interface in java? Explain
Which class represents the socket that both the client and server use to communicate with each other?
What is a qualifier in a sentence?
explain autoboxing in java?
What is methods in java?