如果在 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安全?