Java 两个JVM能否共享一个可变变量?

Java 两个JVM能否共享一个可变变量?,java,caching,jvm,volatile,Java,Caching,Jvm,Volatile,我读取了中的某个地方,以便从存储在硬件缓存中的系统缓存中使用volatile变量。但是,如果它在系统的缓存中,那么另一个JVM是否可能更改该可变变量? 如果是,它将如何访问特定的易失性变量?除了进入本机代码,Java应用程序无法访问其分配的存储段堆栈和堆之外的任何内容。该规范没有提到任何关于共享存储的内容,因为从Java的角度来看,共享存储的概念根本不存在。所有程序中的所有数据(除了一些非常微小的异常)都存储在硬件缓存中的某一点上。事实上,volatile最重要的一点是,本质上,访问volati

我读取了中的某个地方,以便从存储在硬件缓存中的系统缓存中使用volatile变量。但是,如果它在系统的缓存中,那么另一个JVM是否可能更改该可变变量?
如果是,它将如何访问特定的易失性变量?

除了进入本机代码,Java应用程序无法访问其分配的存储段堆栈和堆之外的任何内容。该规范没有提到任何关于共享存储的内容,因为从Java的角度来看,共享存储的概念根本不存在。所有程序中的所有数据(除了一些非常微小的异常)都存储在硬件缓存中的某一点上。事实上,volatile最重要的一点是,本质上,访问volatile时会绕过缓存。你可能想花30分钟左右的时间与谷歌一起研究缓存到底是什么。多亏了热舔,我真的需要重新审视我的操作系统概念和缓存概念。一位采访者向我提出了同样的问题。我对此没有任何答案。