Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 避免Nashorn中CompiledScript实例内objectSpill导致的内存泄漏_Javascript_Java_Nashorn - Fatal编程技术网

Javascript 避免Nashorn中CompiledScript实例内objectSpill导致的内存泄漏

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

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

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

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

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

VisualVM的泄漏堆栈如下所示

请注意,Nashorn现在已被弃用,并将被删除:我知道。不幸的是,代码重写现在不是一个选项。