如果我有两种算法产生相同的结果,其中第一种基于递归,另一种基于循环,那么就纯程序流管理而言,这将导致更多垃圾回收吗? 最佳答案 单独的递归会导致额外的堆栈使用,因为调用的每一层都是调用堆栈中的一个新元素,但不会使用任何额外的堆(除了可能是一个小对象,还是有两个用途来跟踪堆栈信息-这些可能是分配在堆上,我不确定)。但是,在典型的递归算法中,任何多余的堆对象都可能不会持续很长时间,并且将在下一代年轻集合中被清除。因此,它们不会导致更多的垃圾回收。