第一次在这里提问,我已经潜伏了一段时间试图寻找这个问题的答案,但我似乎找不到合适的解决方案。
Information:Using javac 1.8.0_31 to compile java sources
Information:java: The system is out of resources.
Information:java: Consult the following stack trace for details.
Information:java: at com.sun.tools.javac.parser.JavaTokenizer.readToken(JavaTokenizer.java:560)
Information:java: at com.sun.tools.javac.parser.Scanner.nextToken(Scanner.java:115)
Information:java: at com.sun.tools.javac.parser.JavacParser.nextToken(JavacParser.java:301)
Information:java: at com.sun.tools.javac.parser.JavacParser.literal(JavacParser.java:759)
Information:java: at com.sun.tools.javac.parser.JavacParser.literal(JavacParser.java:659)
Information:java: at com.sun.tools.javac.parser.JavacParser.term3(JavacParser.java:1157)
Information:java: at com.sun.tools.javac.parser.JavacParser.term2(JavacParser.java:909)
Information:java: at com.sun.tools.javac.parser.JavacParser.term1(JavacParser.java:880)
Information:java: at com.sun.tools.javac.parser.JavacParser.term(JavacParser.java:836)
Information:java: at com.sun.tools.javac.parser.JavacParser.term(JavacParser.java:816)
Information:java: at com.sun.tools.javac.parser.JavacParser.parseExpression(JavacParser.java:779)
Information:java: at com.sun.tools.javac.parser.JavacParser.arguments(JavacParser.java:1779)
Information:java: at com.sun.tools.javac.parser.JavacParser.classCreatorRest(JavacParser.java:2219)
Information:java: at com.sun.tools.javac.parser.JavacParser.creator(JavacParser.java:2103)
Information:java: at com.sun.tools.javac.parser.JavacParser.term3(JavacParser.java:1166)
Information:java: at com.sun.tools.javac.parser.JavacParser.arguments(JavacParser.java:1794)
Information:java: at com.sun.tools.javac.parser.JavacParser.term3(JavacParser.java:1255)
Information:java: at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java:2392)
Information:java: at com.sun.tools.javac.parser.JavacParser.blockStatements(JavacParser.java:2298)
Information:java: at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java:2269)
Information:java: at com.sun.tools.javac.parser.JavacParser.block(JavacParser.java:2283)
Information:java: at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java:2441)
Information:java: at com.sun.tools.javac.parser.JavacParser.blockStatement(JavacParser.java:2352)
Information:java: at com.sun.tools.javac.parser.JavacParser.parseStatementAsBlock(JavacParser.java:2317)
Information:java: at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java:2445)
Information:java: at com.sun.tools.javac.parser.JavacParser.parseStatement(JavacParser.java:2449)
Information:java: Errors occurred while compiling module 'Server'
Information:5/1/2015 5:45 AM - Compilation completed with 1 error and 0 warnings in 952ms
Error:java: java.lang.StackOverflowError
我以前在运行程序时从未遇到过问题,并且我不确定导致此问题的原因是什么。
我的系统有 6 GB 可用 RAM,其中 1 GB 分配给 JVM。运行以前的版本时,我没有任何问题。
如果有人能帮我解决这个问题的原因,我将不胜感激。
抱歉这个问题,我确实将整个源代码复制/粘贴到具有相同精确设置的不同模块中,并且它工作得像新的一样好。如果有人对为什么会出现这种情况有任何解释,请告诉我。
最佳答案
首先,您不运行程序,而是编译它。是java编译器死于堆栈溢出。
显然,您的源代码对于 java 编译器来说太复杂了,无法处理。以更多的堆栈空间运行java编译器
javac -J-Xss4m ....
如果你不直接运行javac
,而是通过一些“构建工具”,那么现在就是看看它有多好的时候了。一个好的构建工具,在提供合理的默认值的同时,应该让您随意定制最终的编译命令行。
关于java - Java 1.8 堆栈溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29984739/