java - Java 1.8 堆栈溢出错误

标签 java compiler-errors jvm stack-overflow

第一次在这里提问,我已经潜伏了一段时间试图寻找这个问题的答案,但我似乎找不到合适的解决方案。

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/

相关文章:

java - 从扩展 Service 的类更新 MainActivity 的 TextView

python - 如果cardNumberArray [0] == 4 : IndexError: list index out of range

c++ - 仿函数和对象继承

java - 如何在 Ubuntu 中为 JNI C/C++ 库查找 JDK 目录

java - 直接 ByteBuffer 相对与绝对读取性能

java jvm 11 不启动

Java 模式匹配除感叹号之外的任何字符

java - 如何编写 Java JIT 优化友好的代码?

java - 如何从 Firebase 数据库检索图像并将其显示在 RecyclerView 中?

c - 架构 x86_64 : (Mac OS X 10. 7) 的 undefined symbol