【发布时间】:2010-11-15 13:45:52
【问题描述】:
我知道方法的局部变量和参数存在于堆栈中,但我无法弄清楚在 Java 的情况下方法实际存在于哪里?
如果我声明任何 Thread 对象,例如:
Thread t=new Thread();
t.start();
所以这意味着我已经创建了一个单独的方法调用,除了 main 方法。这是什么意思?这是否意味着在堆栈内存上调用单独的方法序列?我说的对吗?
【问题讨论】:
-
你的措辞让我感到不舒服。代码空间中的“方法”“生活”。它不在堆栈或堆上。在堆上创建一个对象,它的每个方法都有一个指针。该对象位于堆中,但它指向的方法在代码中。
标签: java jvm heap-memory stack-memory