相关疑难解决方法(0)

StackOverflowError何时发生?

据Oracle称,StackOverflowError是:

在发生堆栈溢出时抛出,因为应用程序过于严重.

我知道递归是什么,通常递归函数,如果没有正确终止,会导致StackOverflowError.为了检查StackOverflowError抛出之前发生的递归调用的数量,我写了这段代码:

package ErrorCases;

public class StackOverFlowError {
static int i=0;
void a()
{

    //System.out.println("called "+(++i));
    try{
        ++i;
    a();
    }catch(Error e)
    {
        System.out.println(e.getClass());
        System.out.println(i);
    }
}

public static void main(String[] args) {

       new StackOverFlowError().a();

   }

}
Run Code Online (Sandbox Code Playgroud)

在JVM抛出StackOverflowError之前,i给出递归调用计数的值a().每次运行
的价值i都不同,如:

output 1: class java.lang.StackOverflowError
           10466
Output 2: class java.lang.StackOverflowError
           10470
Run Code Online (Sandbox Code Playgroud)

我的疑问是?

  1. 在JVM抛出之前递归有多深 StackOverflowError

  2. 一旦StackOverflowError投掷,我们可以恢复吗?

java stack-overflow recursion stack

8
推荐指数
1
解决办法
3573
查看次数

什么是Linux堆栈?

我最近遇到了"linux stack"和"linux stack size"的错误.我遇到了一个指导我尝试的博客

ulimit -a
Run Code Online (Sandbox Code Playgroud)

看看我的盒子的限制是什么,它被设置为8192kb默认值.

什么是"linux堆栈"?它是如何工作的,它存储了什么,它做了什么?

linux linux-kernel

6
推荐指数
1
解决办法
2万
查看次数

Visual Studio C/C++数组大小未处理的异常堆栈溢出

可能重复:
什么是堆栈溢出错误?

当我声明大小为4096*1024的大型数组时,就会发生这种情况

First-chance exception at 0x01382e97 in nsfclient.exe: 0xC00000FD: Stack overflow.
Unhandled exception at 0x01382e97 in nsfclient.exe: 0xC00000FD: Stack overflow.
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能在Visual Studio中声明大数组?

c visual-studio-2010

6
推荐指数
1
解决办法
2万
查看次数

这在Java中 - 线程"main"java.lang.StackOverflowError中的异常

为什么我收到stackoverflow错误?

我的课 -

public class Tester {

int id;

 Tester(int id){
  this.id = id;
 }

 public String toString(){

  String rep = "Hex: " + this + ", Id: " + this.id;
  return rep;
 }

}
Run Code Online (Sandbox Code Playgroud)

主要方法 -

class Driver{

    public static void main(String [] args){

        Tester t = new Tester(123);
        System.out.println(t);

    }

}
Run Code Online (Sandbox Code Playgroud)

错误 -

Exception in thread "main" java.lang.StackOverflowError
    at java.lang.String.length(Unknown Source)
    at java.lang.AbstractStringBuilder.append(Unknown Source)
    at java.lang.StringBuilder.append(Unknown Source)
    at java.lang.StringBuilder.<init>(Unknown Source)
    at com.examscam.model.Tester.toString(Tester.java:13)
    at java.lang.String.valueOf(Unknown Source)
    at java.lang.StringBuilder.append(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow

6
推荐指数
2
解决办法
1万
查看次数

如何在树 Java 中查找节点

我是 Java 的初学者,我目前正在尝试解决树章节中的练习。

一棵树由这些节点组成。 在此处输入图像描述。一个节点保存一个对应于整数的值。除了位于树根的节点之外,一个节点始终只有一个其他节点引用它。如果一个节点在右边或左边没有子节点,那么对应的引用是null。左侧子树中任何子树的值都小于其父树的值,而右侧子树中任何子树的值都大于其父树的值。树的高度在 0 到 100 000 节之间。

我正在尝试实现一个find(int v)方法,v如果节点不存在,则返回保存该值的节点,然后 find 将必须返回null

这是我一直在做的事情,但我有点迷茫:

class Node{
    Node left, right;
    int value;

    public Node find (int v){
        Node result = null;
        if (this.left != null) result = find(v);
        if (this.value == v) return this;
        if (result == null && this.right != null) 
            result = find(v);

        return result;     

    }

    public static void main (String[] args){
        Node n = smallNode.find(8);
        System.out.println(n);
        n = …
Run Code Online (Sandbox Code Playgroud)

java tree

6
推荐指数
0
解决办法
8743
查看次数

Scala - 具有 100 个字段的案例类 (StackOverflowError)

我创建了带有 100 个字段 +- 的 scala case 类,当我尝试构建项目(使用 gradle)时,出现错误:

Cause: java.lang.StackOverflowError
    at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:698)
    at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)
    at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)
Run Code Online (Sandbox Code Playgroud)

我正在使用 scala 2.11 ,发现过去有 22 个字段的限制。但它是固定的。

那么为什么构建失败呢?(我试图增加 -Xss20m ,但没有帮助)

scala case-class scala-2.11

6
推荐指数
1
解决办法
409
查看次数

如何在超级接口上调用覆盖函数?

interface CrudRepo {
  fun save()
  fun saveAll()
}

interface CustomRepo : CrudRepo {
  fun validate()
  override fun save() {
    validate()
    saveAll() // can call saveAll, I need to call save on CrudRepo here
  }
}
Run Code Online (Sandbox Code Playgroud)

CrudRepo有一个不做验证的功能保存。我决定编写自己的接口来扩展CrudRepo和覆盖 save 方法。在我自己的定义,save我想验证,然后调用save的方法CrudRepo

我应该尝试什么?

kotlin

5
推荐指数
1
解决办法
1956
查看次数

这个递归函数究竟是如何在JavaScript中运行的?

我有一个递归函数的例子,我不明白的是事情发生的顺序:

function power(base, exponent) {
  if (exponent == 0)
    return 1;
  else
    return base * power(base, exponent - 1);
}
Run Code Online (Sandbox Code Playgroud)

函数何时返回值,在所有过程结束时或每次?

javascript recursion

4
推荐指数
3
解决办法
6140
查看次数

在Java中,哪些对象放在堆栈上,哪些放在堆上?

对于Java函数中的语句:

Xxx xxx = new Xxx() {
    public Abc abc(final Writer out) {
        return new SomeFunction(out) {
            boolean isDone = false;
            public void start(final String name) {
                /* blah blah blah */
            }
        };
    }
};
Run Code Online (Sandbox Code Playgroud)

哪个变量(包括函数)放在堆上,哪些变量放在堆栈上?

我问这个的原因是JVM中的分段错误:

kernel: java[14209]: segfault at 00002aab04685ff8 rip 00002aaab308e4d0 rsp 00002aab04685ff0 error 6
Run Code Online (Sandbox Code Playgroud)

00002aab04685ff8并且00002aab04685ff0附近,似乎堆栈增长太快.我尝试研究这部分代码,并怀疑它是多次调用此函数时是否是问题的原因.如果堆被堆上的某些变量引用,堆栈是否可能被清除?

java heap stack

4
推荐指数
1
解决办法
1009
查看次数

如何解决java.lang.StackOverflowError

这是我第一次遇到这个错误.此代码基本上获取特定日期内销售的每件商品的总和.

有关解决此问题的任何提示吗?谢谢.

       Statement statement = connection.createStatement();
       String query = "SELECT itemcode, SUM(quantity) AS 'Total Sales Per Day' "
               + "FROM sales "
               + "WHERE real_pur_date = '" + date + "' "
               + "GROUP BY itemcode ";
       ResultSet rs = statement.executeQuery( query ); // this line gets the error / exception
       while( rs.next() ){
           Vector row = new Vector();
           row.add( rs.getString( "itemcode" ) );
           row.add( rs.getInt( "Total Sales Per Day" ) );
           dailyData.add( row );
       }
       statement.close();
Run Code Online (Sandbox Code Playgroud)
Exception in thread …
Run Code Online (Sandbox Code Playgroud)

java mysql

3
推荐指数
1
解决办法
3008
查看次数