我是java编程的新手,试图了解如何在堆栈中分配内存。我读到在编译时会存储包含局部变量的方法。一旦使用了方法,就将这些局部变量从堆栈中删除。我的问题是,当我再次调用同一方法时会发生什么。如果在编译时分配了内存,并且一旦方法被执行并从堆栈中删除,那么如果我再次调用方法会怎样?谢谢。
内存分配。堆。堆。
void somefunction(enter code here
){
成员m;
}
答案 0 :(得分:1)
为每个线程分配一个堆栈。输入方法时,新层(正式称为框架)将与相应变量一起添加到堆栈跟踪中。方法完成后,将从堆栈跟踪中删除该“层”。
如果再次输入该方法,它将重新添加,从头开始,依此类推。如果您递归调用它,则将使用相同的方法创建多个图层。