Java 堆栈中的内存分配和局部变量的删除

Java 堆栈中的内存分配和局部变量的删除,java,stack,heap-memory,Java,Stack,Heap Memory,我不熟悉java编程,并试图了解如何在堆栈中分配内存。我在编译时读到,包含局部变量的方法被存储。一旦使用了方法,这些局部变量就会从堆栈中删除。我的问题是,当我再次调用相同的方法时会发生什么。若内存是在编译时分配的,一旦方法被执行并从堆栈中删除,那个么若我再次调用该方法会发生什么?谢谢 内存分配。堆栈堆 void somefunction(在此处输入代码){ m委员; }为每个线程分配一个堆栈。输入方法时,将向stacktrace中添加一个新层(正式称为框架)以及相应的变量。一旦该方法完成,该“层

我不熟悉java编程,并试图了解如何在堆栈中分配内存。我在编译时读到,包含局部变量的方法被存储。一旦使用了方法,这些局部变量就会从堆栈中删除。我的问题是,当我再次调用相同的方法时会发生什么。若内存是在编译时分配的,一旦方法被执行并从堆栈中删除,那个么若我再次调用该方法会发生什么?谢谢

内存分配。堆栈堆

void somefunction(
在此处输入代码
){ m委员;
}为每个线程分配一个堆栈。输入方法时,将向stacktrace中添加一个新层(正式称为框架)以及相应的变量。一旦该方法完成,该“层”将从stacktrace中移除

如果您再次输入该方法,它将从一个新的开始再次添加该方法,以此类推。如果您递归调用它,您将使用相同的方法拥有多个层

您在哪里读到“在编译时,存储了包含局部变量的方法”?在编译时,确定堆栈上所需的大小和每个变量的相对位置,但只在运行时存储(消耗)内存。