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