【发布时间】:2021-02-25 09:35:10
【问题描述】:
这个问题与java内存模型有关。
我有一个java方法:
public class DataUtil{
public void process(){
int c=0;
c=c+1;
System.out.println(c);
}
}
在“System.out.println(c)”行中,println 方法在哪里获取 c 变量的值并将其打印到屏幕上? CPU 缓存或 RAM
【问题讨论】:
-
这在很大程度上取决于案例、JVM 实现以及应用程序运行时的特定时间。可能是 JIT,也可能是字节码。。这个问题并不是很狭隘和具体。
-
另请注意,“Java 内存模型”实际上是一个规范,主要处理多线程程序如何与内存交互,并没有准确描述您在这个问题中要求的内容(是的,这有点令人困惑,因为从概念上讲,您所询问的内容可以有效地描述为“Java 内存模型”,但该短语已经用于表示稍有不同的意思)。
-
您真的在这里询问 Java 内存模型 (JMM) 吗? JLS 第 17.4 章?