Javascript 避免Nashorn中CompiledScript实例内objectSpill导致的内存泄漏
我们在Nashorn中维护编译脚本的缓存,以减少脚本执行时间。(Java 8x112) 每个CompiledScript实例都有一个用于编译代码的引擎实例。名为objectSpill的对象保留该引擎的所有作用域级对象,导致内存泄漏 在每次执行之前,我们确保使用单独的绑定来评估CompiledScript。此绑定是ScriptContext.GLOBAL 有什么办法可以避免这种情况吗 VisualVM的泄漏堆栈如下所示Javascript 避免Nashorn中CompiledScript实例内objectSpill导致的内存泄漏,javascript,java,nashorn,Javascript,Java,Nashorn,我们在Nashorn中维护编译脚本的缓存,以减少脚本执行时间。(Java 8x112) 每个CompiledScript实例都有一个用于编译代码的引擎实例。名为objectSpill的对象保留该引擎的所有作用域级对象,导致内存泄漏 在每次执行之前,我们确保使用单独的绑定来评估CompiledScript。此绑定是ScriptContext.GLOBAL 有什么办法可以避免这种情况吗 VisualVM的泄漏堆栈如下所示 请注意,Nashorn现在已被弃用,并将被删除:我知道。不幸的是,代码重写现在
请注意,Nashorn现在已被弃用,并将被删除:我知道。不幸的是,代码重写现在不是一个选项。