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



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

内存分配。叠。堆。

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

为每个线程分配一个堆栈。输入方法时,会将一个新层(正式称为帧(添加到堆栈跟踪中,其中包含相应的变量。方法完成后,该"层"将从堆栈跟踪中删除。

如果您再次输入该方法,它将简单地从重新开始再次添加它,依此类推。如果以递归方式调用它,则将具有具有相同方法的多个层。

最新更新