内存的哪一部分是静态变量和类名 存储在哪里?是在类/方法区域还是其他区域?
内存的哪个部分加载了不同方法的指令?
每个线程是否都有自己的堆栈区域,或者它们是否有单独的堆栈以及单独的类/方法区域?
Thread类的“run方法”实际上有什么指示?
代码示例:
class A {
static int a=5; //where is this static a stored to?
public void a() {
System.out.prinln("hello"); //where is this instruction loaded to?
}
public static void b() {
System.out.prinln("hi"); //where is this instruction loaded to?
}
}
静态方法和非静态方法是否有不同的内存区域?
答案 0 :(得分:1)
关于#3:每个线程都有自己的堆栈。
无法回答您的其他问题,因为它们都依赖于JVM /底层平台。
答案 1 :(得分:0)
从程序员的角度来看,您需要知道的是它的工作原理,通常它工作正常。从JVM的角度来看,它在很大程度上取决于实现,并且可能会有所不同,具体取决于代码的运行位置。但最终 - 如上所述 - 并不重要,因为代码将以完全相同的方式执行,无论它在何处运行。