Memory leaks ANTLR4内存清理

Memory leaks ANTLR4内存清理,memory-leaks,antlr,antlr4,Memory Leaks,Antlr,Antlr4,是否可以取消分配/重置/压缩ANTLR分配的内存 我已经使用了parsertansimulator.clearDFA(),但是仍然分配了一些大型对象(例如,ArrayPredictionContext,SingletonPredictionContext) 我的程序交替解析和计算阶段。在两个解析阶段之间,我希望减少ANTLR的内存占用。有趣。答案是否定的,我现在会说。我将在处添加一个问题。如果我替换解析器和lexer的缓存,这些数据结构和一些静态字段之间就没有路径了。因此,垃圾收集器可以收集它们

是否可以取消分配/重置/压缩ANTLR分配的内存

我已经使用了
parsertansimulator.clearDFA()
,但是仍然分配了一些大型对象(例如,
ArrayPredictionContext
SingletonPredictionContext


我的程序交替解析和计算阶段。在两个解析阶段之间,我希望减少ANTLR的内存占用。

有趣。答案是否定的,我现在会说。我将在处添加一个问题。

如果我替换解析器和lexer的缓存,这些数据结构和一些静态字段之间就没有路径了。因此,垃圾收集器可以收集它们

lexer.setInterpreter(new LexerATNSimulator(lexer, lexer.getATN(), lexer.getInterpreter().decisionToDFA, new PredictionContextCache()));
parser.setInterpreter(new ParserATNSimulator(parser, parser.getATN(), parser.getInterpreter().decisionToDFA, new PredictionContextCache()));