Stack Overflow In Java
Chapter:
Data Structures
Last Updated:
22-07-2016 07:51:10 UTC
Program:
/* ............... START ............... */
class StackOverflowErrorExample {
public static void recursivePrint(int num) {
System.out.println("Number: " + num);
if(num == 0)
return;
else
recursivePrint(++num);
}
public static void main(String[] args) {
StackOverflowErrorExample.recursivePrint(1);
}
}
class A {
private int aValue;
private B bInstance = null;
public A() {
aValue = 0;
bInstance = new B();
}
@Override
public String toString() {
return "";
}
}
class B {
private int bValue;
private A aInstance = null;
public B() {
bValue = 10;
aInstance = new A();
}
@Override
public String toString() {
return "";
}
}
public class JavaStackOverFlow {
public static void main(String[] args) {
A obj = new A();
System.out.println(obj.toString());
}
}
/* ............... END ............... */
Output
Exception in thread "main" java.lang.StackOverflowError
at DataStructure.B.<init>(JavaStackOverFlow.java:52)
at DataStructure.A.<init>(JavaStackOverFlow.java:37)
at DataStructure.B.<init>(JavaStackOverFlow.java:52)
at DataStructure.A.<init>(JavaStackOverFlow.java:37)
at DataStructure.B.<init>(JavaStackOverFlow.java:52)
....
Notes:
-
The StackOverflowError extends the VirtualMachineError class, which indicates that the JVM is broken, or it has run out of resources and cannot operate.
Tags
Stack Overflow , Java