volatile で宣言されている配列フィールドを報告します。 このような宣言は誤解を招く可能性があります。配列自体へのアクセスは volatile フィールドのルールに従っていますが、配列の内容へのアクセスでは同じルールに従っていないためです。
例:
class Data {
private volatile int[] idx = new int[0];
}
配列の内容に対してこのような volatile アクセスが必要な場合は、代わりに java.util.concurrent.atomic クラスの使用を検討してください。
class Data {
private final AtomicIntegerArray idx = new AtomicIntegerArray(new int[0]);
}