尾递归在递的过程中会需要新的栈吗

我认为尾递归不会产生栈溢出因为递的过程会覆盖当前的栈所以不会产生新的栈,但是为什么这位teacher在运行程序时递的过程中会产生新的栈,而在归的过程一步清空所有的栈呢

img


下面是这个teacher视频链接最后两分钟是他递的过程产生新的栈的情况
【[8.3.1]--一种特殊的递归方法——尾递归(14分半)】https://m.baidu.com/video/page?pd=video_page&nid=2027968065146028295&sign=17189081849870241388&word=%E5%B0%BE%E9%80%92%E5%BD%92&oword=%E5%B0%BE%E9%80%92%E5%BD%92&atn=index&frsrcid=4185&ext=%7B%22jsy%22%3A1%7D&top=%7B%22sfhs%22%3A1%2C%22_hold%22%3A2%7D&sl=2&trace=10895044521095293628&isBdboxShare=1

递归其实就是不停的压栈,压到一个临界值最后再逐一弹栈,每递归一遍就是一个新方法,而每个方法就是一个栈,所以到达临界值就会不断弹栈,不设立临界值就会栈溢出