JVM:它用于JVM作为存储本地的首选的"堆栈"有什么好处?

Jai*_*tel 2 java queue stack jvm

而不是Stack,Queue也可以用于它.为什么JVM对本地变量使用"Stack"并调用内存管理方法?我已经谷歌我的问题,但没有得到关于它的确切答案.

小智 6

正如@Vince在评论中提到的,Stack是后进先出(LIFO)和队列是先进先出(FIFO)列表.

当调用方法时,它们通常具有这样的序列,

  • 方法m1调用方法m2
  • 方法m2调用方法m3
  • 方法m3调用方法m4
  • ...

当方法m4返回时,执行返回到方法m3.

当方法m3返回时,执行返回到方法m2,依此类推.

最后方法m1完成其执行.

请注意,方法m1是第一个被调用,但是最后一个完成它的执行.因此,在堆栈上存储方法调用有助于存储器管理(因为堆栈是LIFO).

局部变量在方法中声明和定义,因此也存储在堆栈中.