gpt4 book ai didi

java - 为什么 Final 字段在 Java 中不能是 Volatile?

转载 作者:太空狗 更新时间:2023-10-29 23:00:44 26 4
gpt4 key购买 nike

<分区>

我想了解为什么不能将声明为 final 的引用声明为 Volatile。 SO [ Why can an Object member variable not be both final and volatile in Java? 上也有类似的问题

[1]: Why can an Object member variable not be both final and volatile in Java?但我不确定该答案是否理解 FINAL。

现在 final 变量的状态肯定可以在初始化后更改。只有引用不能被初始化为另一个对象。

例如考虑下面的成员变量

final StringBuilder sb = new StringBuilder("CAT");

现在另一个线程将 sb 更改为:

sb.append("S");

如果此变量是非 volatile 的,此更改是否可用于根据 Java 内存模型的不同线程?

编辑:我将 StringBuffer 更改为 StringBuilder 以便某些人阐明我的观点。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com