文章目录
- 什么是栈内存
- 演示方法递归调用过程
什么是栈内存
在学习递归实现原理之前,我们先了解一下栈内存。
栈内存是计算机中的一种数据存储方式,是 Java 进程启动时候在内存中开辟的存储空间。
- 栈内存的利用方式遵循 LIFO(后迚先出)原则
- Java 所有局部变量都在栈中分配(压入),方法的参数也是局部变量,局部变量在离开作用域时候回收,就是从栈中弹出(删除)。
- Java 中所有的局部变量都是在栈内存中分配的(包括方法中声明的变量、方法的参数)。
Java 方法调用使用栈实现, 递归调用就是栈实现的。递归时候要按照递归深度分配全部临时变量, 栈开销很大, 性能不好, 要注意不要超过栈的大小, 并且一定要给出结束条件, 否则会造成栈溢出错误。
演示方法递归调用过程
接下来我们通过递归计算 5+3+1 演示递归调用过程,代码如下所示:
public class RevDemo {
public static void