I fill a collection one single time when my J2EE webapp starts. Then, several thread may access it at same time but only to read it.
I know using a synchronized collecti
You do not have to, as explained in other answers. If you want to ensure that your collection is read only, you can use:
yourCollection = Collections.unmodifableCollection(yourCollection);
(similar method exist for List, Set, Map and other collection types)