Если в классе у меня есть экземпляр ConcurrentHashMap, который будет изменен и прочитан несколькими потоками, я могу определить так:
public class My Class {
private volatile ConcurrentHashMap<String,String> myMap = new ConcurrentHashMap<String,String>();
...
}
добавление final
в поле myMap приводит к ошибке, говорящей, что я могу использовать только final или volatile. Почему это может быть не только?