我正在尝试使用Java7语法为大量(确实非常大)的Java文件创建ParseTree对象,但是在中间,出现了GC开销导致内存不足的问题。完成每个文件后,我正在清理ParseTree和Parser / Lexer。当我查看内存分析器时,发现 org.antlr.v4.runtime.dfa.DFA [] 占用了87%的堆空间。我经历了一些与此相关的旧错误,但对我来说真的没有任何用。我使用的是Antlr 4.7版。
从过去的错误中,我了解清除DFA []并没有帮助。是否添加了用于驱逐缓存并有效释放资源的API? 提前致谢。