为什么 Object 成员变量在 Java 中不能既是最终变量又是易失性的?
2022-08-31 21:30:23
如果在一个类中,我有一个 ConcurrentHashMap 实例,该实例将由多个线程修改和读取,我可能会这样定义:
public class My Class {
private volatile ConcurrentHashMap<String,String> myMap = new ConcurrentHashMap<String,String>();
...
}
添加到 myMap 字段会导致错误,指出我只能使用 final 或 volatile。为什么不能两者兼而有之?final