This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes final instance variables Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » Web Component Certification (SCWCD/OCPJWCD)
Bookmark "final instance variables" Watch "final instance variables" New topic

final instance variables

agrah upadhyay
Ranch Hand

Joined: Sep 01, 2005
Posts: 579
Why final instance variables of a servlet are considered to be thread safe?
Vijay Venkat
Ranch Hand

Joined: Aug 12, 2001
Posts: 52
1. final --> implies it is immutable.
It holds good in any java environment.
Beware: If you are using object, if the properties inside the objects are not final then they are mutable and not thread safe.

Eg private final int _FIVE = 5
private final List _SHAPES = new ArrayList();

Here you cannot assign new values to _FIVE and _SHAPES cannot be made to refer to a different list.

This is invalid : Somewhere in your code you cannot do
_FIVE = 10
_SHAPES = new ArrayList()
On doing above you will get compilation errors.

But the objects with in _SHAPES can be mutated, depending up the objects which have been added to _SHAPES.

Vijay Venkataraman
Don't get me started about those stupid light bulbs.
subject: final instance variables
Similar Threads
Spot the difference
Interface can access
Final variables
can you figure this out?
By convention - are there for exemple first variables, second getters and setters and third methods?