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