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

时间:2019-10-06 19:46:36

标签: java stack heap

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

内存分配。堆。堆。

void somefunction(enter code here){     成员m; }

1 个答案:

答案 0 :(得分:1)

为每个线程分配一个堆栈。输入方法时,新层(正式称为框架)将与相应变量一起添加到堆栈跟踪中。方法完成后,将从堆栈跟踪中删除该“层”。

如果再次输入该方法,它将重新添加,从头开始,依此类推。如果您递归调用它,则将使用相同的方法创建多个图层。