如果在 Java 中声明一个成员变量为 volatile,这是否意味着该对象的所有数据都存储在 volatile 内存中,或者该对象的引用存储在 volatile 内存中?
例如,如果我有以下课程:
class C{
int i = 0;
char c = 'c';
}
如果我声明它的一个实例如下:
private volatile C obj;
这会将引用存储obj
在易失性内存中,还是将obj
's 的数据(obj.i
和obj.c
)存储在volatile
内存中?
它是否使obj.c
线程obj.i
安全?