首先它是一个堆栈溢出问题,我知道它已经溢出,因为创建了大量对象。但问题是我最初没有在引用中存储任何对象引用,所以为什么在使用资源并且没有对对象的引用时垃圾收集器不转储。
其次, 请参阅下面的那些 异常当代码中没有任何文件处理时,为什么会有这些FileOutputStream.write()异常?
class Base{
Base(){
Constructorloop c=new Constructorloop();
}
}
class Constructorloop{
static int i=0;
Constructorloop(){
System.out.println(i+++" X 2 objects created");
Base b=new Base();
}
public static void main(String args[]){
new Base();
}
}
Run Code Online (Sandbox Code Playgroud)
例外:
Exception in thread "main" java.lang.StackOverflowError
at java.io.FileOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at java.io.PrintStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.flushBuffer(Unknown Source)
at java.io.OutputStreamWriter.flushBuffer(Unknown Source)
at java.io.PrintStream.write(Unknown Source)
at java.io.PrintStream.print(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud)