small java产品定位思考

[cp]今天修复了一个smalljava的bug.重新认真思考了一下这个产品的定位。

smalljava提供java语言的解释器,这个解释器可以以三种方式来调用。

第一种,以表达式方式来调用,表达式作为字符串传入,经过解析以后,变成AST树,再进行执行计算。这个是最基础的使用方式。

第二种,在表达式解释的基础上,加入流程控制,形成代码块解释器,将java代码块以字符串形式传入,再经过解析,形成AST树,再按照AST树的执行逻辑,一步一步解释执行,直到结束。

第三种,上述两种方式都不能提供面向对象的支持,第三种方式直接把java类源代码作为字符串传入,对Java源代码进行AST解析,并将解析结果保存到内存中。这样在第一种的表达式里面就可以直接使用这些动态加载的java源代码,实例化类对象以及调用类的方法,就如同调用标准JVM的类一样。[/cp]

你可能感兴趣的:(small java产品定位思考)