1.AppShell设计原理
一个java进程为java虚拟机在内存中的一个实例。虚拟机负责管理进程的内存空间,并在必要的时候通过classloader机制把需要的类文件加载到方法区并初始化常量内存。由于classloader允许通过各种方式(如本地文件、远程文件、内存数组等)加载类定义,因此为运行时动态执行代码提供了条件。我们可以动态提供一段想要执行的代码(groovyjava),首先将此代码动态编译成符合java规范的class文件加载到内存,然后通过classloader加载,最后执行编写的方法。整个流程如下图所示:
基于上图的原理,我们设计了一个内嵌于java进程中的Groovy解释器,并可以实时执行任意代码并返回结果的辅助工具,工具的结构图如下:
首先,我们通过白癜风专家崔永玲中科白癜风医院喜迎国庆