今天忽然想通了如何在浏览器上解释运行java代码的问题。
以前考虑在js上开发一个java解释器,最大的困难是如何调用java现有工具类库的问题,因为这部分是依赖于JVM本身来实现的,而浏览器环境上现在没有JVM了,这就变成了一个死结。
今天忽然想到,可以把这部分功能封装在后台,通过ajax方式让前台js来调用,由于对象的实例地址已经通过变量表进行了映射,因此只要把映射地址,方法名,调用参数这些传递到后台就可以进行对应的调用和处理。再将处理结果返回给调用者。
这样的 同步调用完成后,js得到的结果和java调用以后得到的结果就是一致的了。
其他的代码操作都可以在js上来直接运行,虽然可能会略有区别。
按照这个思路,有两周时间,js版本的java解释器也可以顺利完成了。虽然可能需要更长的时间来修复bug.
网友评论