2012-10-13 46 views
2

我的Java应用程序需要运行用户的JavaScript代码。我需要保护应用程序免受脚本不当行为(可能是无意的)。我实现了API调用限制,并为可能无限循环增加了时间限制。然而,我还没有发现防止OutOfMemory错误,这可能是由脚本内分配太多的对象,数组元素等引起的。限制犀牛的内存分配javascript

目前我只有两个想法:shell脚本里面

  • 呼叫应用并以某种方式恢复其状态,如果它与OOM失败;

  • 截取上下文#observeInstructionCount并经常检查分配的内存数量增长是否过于危险。

这两个变种都非常模糊和愚蠢,所以我想要更聪明的东西。

回答

1

可以完成的唯一方法是在单独的进程中运行javascript代码,并为该JVM设置参数-Xmx