为了防止无限循环,您需要将其放在单独的进程中,以便将其杀死。
为了防止创建线程,您需要扩展SecurityManager(默认实现允许不受信任的代码访问非根线程组)。
Java安全性确实允许您阻止对文件系统的访问。
对于数据库限制,您也许可以使用标准的SQL用户安全性,但这非常薄弱。否则,您需要提供强制执行限制的API。
编辑:我应该指出,随JDK6一起提供的Rhino版本已经在其上完成了安全工作,但不包括编译器。

为了防止无限循环,您需要将其放在单独的进程中,以便将其杀死。
为了防止创建线程,您需要扩展SecurityManager(默认实现允许不受信任的代码访问非根线程组)。
Java安全性确实允许您阻止对文件系统的访问。
对于数据库限制,您也许可以使用标准的SQL用户安全性,但这非常薄弱。否则,您需要提供强制执行限制的API。
编辑:我应该指出,随JDK6一起提供的Rhino版本已经在其上完成了安全工作,但不包括编译器。