stack是heap中的逻辑内存区域吗?
Is stack a logical memory area in heap?
在Java中,对象存储在堆中,方法局部变量在栈中。但是当我打开 jconsole 时,我没有看到堆栈中分配了任何内存。我只看到堆和 permgen (Java 6)。堆栈只是堆中的逻辑分隔而不是物理分隔吗?
没有。 Stack 是一个不同的内存区域,专门用于保存与方法调用相关的信息,例如参数值和程序流程应该 return 在方法 return 之后的位置。
JVM 使用进程的本机堆栈。这最大限度地减少了开销,并允许堆栈是虚拟的(它的最大大小可以比实际使用的大得多)
因此,大多数堆栈很少使用(<< 最大值的 10%)并且将它们绘制成图形可能比有用更令人困惑。
在Java中,对象存储在堆中,方法局部变量在栈中。但是当我打开 jconsole 时,我没有看到堆栈中分配了任何内存。我只看到堆和 permgen (Java 6)。堆栈只是堆中的逻辑分隔而不是物理分隔吗?
没有。 Stack 是一个不同的内存区域,专门用于保存与方法调用相关的信息,例如参数值和程序流程应该 return 在方法 return 之后的位置。
JVM 使用进程的本机堆栈。这最大限度地减少了开销,并允许堆栈是虚拟的(它的最大大小可以比实际使用的大得多)
因此,大多数堆栈很少使用(<< 最大值的 10%)并且将它们绘制成图形可能比有用更令人困惑。