2012-10-13 90 views
2

我的Java應用程序需要運行用戶的JavaScript代碼。我需要保護應用程序免受腳本不當行爲(可能是無意的)。我實現了API調用限制,併爲可能無限循環增加了時間限制。然而,我還沒有發現防止OutOfMemory錯誤,這可能是由腳本內分配太多的對象,數組元素等引起的。限制犀牛的內存分配javascript

目前我只有兩個想法:shell腳本里面

  • 呼叫應用並以某種方式恢復其狀態,如果它與OOM失敗;

  • 截取上下文#observeInstructionCount並經常檢查分配的內存數量增長是否過於危險。

這兩個變種都非常模糊和愚蠢,所以我想要更聰明的東西。

回答

1

可以完成的唯一方法是在單獨的進程中運行javascript代碼,併爲該JVM設置參數-Xmx