What are Transient and Volatile Modifiers?

Answers were Sorted based on User's Feedback



What are Transient and Volatile Modifiers?..

Answer / janet

Transient: The transient modifier applies to variable only
and it is not stored as part of it's objects persistent
state.Transient variables are not serialized.
Volatile: Volatile modifier applies to variables only and
it tells the compiler that the variable modified by
volatile can be changed unexpectedly by other parts of the
program.

Is This Answer Correct ?    22 Yes 4 No

What are Transient and Volatile Modifiers?..

Answer / shashank jain

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. (You saw an example of this
in Chapter 11.) 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 ?    14 Yes 4 No

What are Transient and Volatile Modifiers?..

Answer / harika.thota001@gmail.com

we can use volatile in the application where a lot of threads are working simultaneously. Each thread having its local copy for instance variable. If we use volatile then it will become master copy. All will access the master copy. so whatever is latest we can use.

While Transient is used in the case of serialization.
Serialization is a process of writing an object in the files.
if we use prefix transient with variable than that variable value will not store when we write the object in the file.

Is This Answer Correct ?    1 Yes 0 No

Post New Answer

More Core Java Interview Questions

What is final access modifier in java?

0 Answers  


What is locale in java?

0 Answers  


What are different exception types exceptions available in java ?

0 Answers  


Why we use static and synchronized in method for single thread model example: public static synchronized add(){}

2 Answers  


Is string a datatype?

0 Answers  






what is the output ? Math.floor(-2.1) a)2 b)-2 c)-3.0 d)0

4 Answers   Accenture,


What is treeset and treemap in java?

0 Answers  


What is the purpose of the enableevents() method?

0 Answers  


What are listeners in java and explain ?

2 Answers   TCS,


What is difference between synchronize and concurrent collection in java?

0 Answers  


Can we use a default constructor of a class even if an explicit constructor is defined?

0 Answers  


Where can I find data structures question and answers with comprehensive working code written in Java

0 Answers   Amazon,


Categories