gpt4 book ai didi

java - 只要 protected ,私有(private)最终 String[] 数组就线程安全吗?

转载 作者:行者123 更新时间:2023-12-01 18:27:24 25 4
gpt4 key购买 nike

假设我有一个静态最终 String[] 数组,该数组只能读取但不会被修改

private static final String[] myArray = { "Col1", "Col2", "Col3" };

如果我可以保证没有线程会向该数组写入任何值,而只会读取它们,那么这个实现是否可以并且线程安全?或者我会遇到波动性问题吗?

最佳答案

是的,只要不向数组写入任何内容就可以。它将在类型初始化期间初始化,因此所有线程都会“看到”这些值。

为了可读性,您可能需要考虑使用不可变集合(例如 Guava 中的集合)。否则,您可能会发现,虽然原始代码中的数组内容没有任何改变,但维护补丁却改变了它......

关于java - 只要 protected ,私有(private)最终 String[] 数组就线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594084/

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