基本需求类似[java在线代码编译运行],多个客户都可以各自通过web浏览器输入java代码,
然后点击执行java代码,输出结果。
我是通过(Class thisClass = Class.forName(className,true,ClassLoader.getSystemClassLoader()); 来实现的)
目前比较担心某个用户输入的java代码可能是个死循环(如:while(true){xxxx}),
或者高内存使用(如:大规模的向内存里添加字符串)
这样可能会由于一个用户的代码问题,致使整个jvm宕机。
因此,请问,一个用户在执行java代码时候,可有什么方法,对这段代码的内存的使用率,
或者程序的运行时间,进行限制或者检测?
(如果超过一定内存使用量,或者一定运行时间,就终止运行)
有个在线运行的网站:http://ideone.com/
这里就可以对时间进行检测,超过一分钟就终止。
请问这是怎样检测执行操作的?
整个思路不是很清楚,请高手帮忙解答下,
谢谢。