最近两天在和人一起讨论自己开发个java解释器能干啥使。
想来想去,也许可以基于这个设计实现一个应用沙盒,让应用程序的源代码在这个沙盒内运行,这样可以避免应用程序越界造成系统的损害。譬如在正常的语言环境中,是可以直接调用file类来访问硬盘文件的。而在沙盒系统中,可以通过禁用file对象来限制对本地文件的访问,这样一个在沙盒中的程序才能从逻辑上保证是绝对安全的。
这样一个沙盒的想法,类似于虚拟机和docker,但在实现上,要简化很多了。而且实现的思路也很巧妙,一点不费力气。
这个思路值得继续细化下去。形成一个最终的技术方案。
~~~~~~~~~~~~~~~~
java解释器的另一个可能的应用领域应该就是在云计算的领域了。
目前分布式计算的框架下,以spring cloud为例,需要将代码发布到后台,再注册到注册中心,再通过客户端来进行调用。如此种种。
如果每台服务器都可以直接执行原始脚本,那么就可以将代码直接下发到任意一台服务器执行,执行之后返回结果即可。
这样后台的运行服务器就可以抽象成一个单纯的执行机器了,不再需要考虑各个机器之间的多层次调用了,这样才能实现真正的集群模式。
这方面的方案,也需要再仔细考虑一下,也许是一条新路也说不定。
网友评论