@Deutschland 发表于 2008-9-5 23:30

一个关于java StackOverFlowException的问题

请教大家一个关于 java 中 StackOverFlowException的问题。

我在用eclipse写一个关于算法的程序,算法中产生的中间值以tree 的形势和 堆栈的形势保存。根据eingabe 的不同,搜索产生的中间值的个数也不同。

debug时产生 StackOverFlowException, 首先我想到的是不是有死循环,检查过了没有,其次,检查递归方法,好像也没有逻辑错误。

用一个相对简单的 eingabe 测试, 得到 1800 个中间值, 没有StackOverFlowException,能运行。

又用一个相对复杂的 eingabe 测试, 产生 StackOverFlowException,运行不能通过, debug 运行到 14000 个中间值时,产生 StackOverFlowException。

我是新手,请问,StackOverFlowException 产生有没有可能是系统分配的内存不够? 不过其实 99% 的情况应该是死循环,可是我有的eingabe是可以运行的,所有的测试的eingabe 都是同样格式的,就是int 值封装的对象,问题应该不是出在eingabe的值上,有不像是 算法的逻辑错误。

郁闷ing,求高人给些建议。

青蓝忘情水 发表于 2008-9-6 20:59

很大可能是你的算法有问题,如果能把你的算法给大家看看,或许能帮你找到问题所在.应该不是内存分配不够,如果是内存不够出现的fehlermeldung的是out of memory.也不一定是死循环.很可能是算法太复杂,递归次数太多
页: [1]
查看完整版本: 一个关于java StackOverFlowException的问题