首页 新闻 会员 周边

Java递归问题咨询

0
[待解决问题]
public class Test{

 public void test(Object obj){
  //...逻辑

   //递归边界条件
   if(....){
      //在实际开发测试中,JVM参数default,递归次数多了很容易exception,通过修改JVM-Xss可以增加线程栈深度,满足业务
      test(obj);
      //  换做此方式,JVM还是default,没有修改JVM参数,相同情况下没有出现exception
      new Test().test(obj);
   }



  }   


}    

请问通过new对象这种方式来进行调用算是递归么?和我们一般的方法中调用方法自己有什么不一样?不知道我下图对递归和疑问解释的清除不?如果有问题,请教各位高手帮忙解答一下!

AaronChun的主页 AaronChun | 初学一级 | 园豆:152
提问于:2016-12-15 18:16
< >
分享
所有回答(3)
0

http://www.cnblogs.com/freebird92/archive/2007/01/01/609525.html

Daniel Cai | 园豆:10424 (专家六级) | 2016-12-15 18:33
0

我的理解跟你差不多,而且从功能上来讲应该是算递归

ShangJun_Yang | 园豆:202 (菜鸟二级) | 2016-12-22 17:20
0

递归就是自己调用自己,当你调用test方法时,局部变量表第一个就当前对象的引用this,在方法体中如果引用此对象的方法或者字段编译器会默认添加一个this,如this.test,所以重新new一个对象再调用,显然不是递归。个人理解。

创心coder | 园豆:736 (小虾三级) | 2016-12-30 21:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册