避免由Nashorn中的CompiledScript实例内部的objectSpill引起的内存泄漏

时间:2018-07-11 19:24:09

标签: javascript java nashorn

我们维护了CompiledScripts的缓存,以减少Nashorn中的脚本执行时间。 (Java 8x112)

每个CompiledScript实例都有一个用于编译代码的引擎实例。名为objectSpill的对象将保留该引擎的所有作用域级别的对象,从而导致内存泄漏。

在每次执行之前,请确保我们使用单独的绑定来评估CompiledScript。此绑定为ScriptContext.GLOBAL

有什么办法可以避免这种情况?

VisualVM的泄漏堆栈如下所示 enter image description here

0 个答案:

没有答案