锁定老帖子 主题:两段java代码的比较
精华帖 (0) :: 良好帖 (16) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-05
dennis_zane 写道 无语了,0<10000,一次还没跑完。 我错了,撞墙 |
|
返回顶楼 | |
发表时间:2008-06-05
dennis_zane 写道 leelj 写道 import java.util.ArrayList; import java.util.List; public class TailRecursionTest { public static void main(String[] args) { TailRecursionTest t = new TailRecursionTest(); t.a(0); } public void a(int j) { System.out.println(j); j++; if (j<10000) //if (j!=10000) 也可以 return; List list = new ArrayList<Integer>(100000); a(j); } } 递归 ,学习,以上我把if条件小改动了下,可以成功,不知道怎么解释:) 无语了,0<10000,一次还没跑完。 ^_^ 有意思 |
|
返回顶楼 | |
发表时间:2008-06-05
基本上禁止公司成员使用任何形式的递归
|
|
返回顶楼 | |
发表时间:2008-06-05
像这种线性的累加当然可以for或while循环,但是当碰到一棵时, 不用递归用while或for循环怎么来完成呢?
用一个while再一个栈来完成, 那也是递归啊! |
|
返回顶楼 | |
发表时间:2008-06-05
我觉得编译器对这个优化置之不理还是很有道理的。
|
|
返回顶楼 | |
发表时间:2008-06-06
楼主的意思是递归所带来的垃圾回收的问题,对吧?
|
|
返回顶楼 | |
发表时间:2008-06-07
在我的电脑上,第二个示例正常结束。
java -version java version "1.5.0_13" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237) Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing) |
|
返回顶楼 | |