在服务器上执行临时代码

手动实现一个简单的远程执行功能, 用户在服务端执行临时代码

代码与灵感来自 《深入理解java虚拟机》第二版

程序实现思路

1. 如何编译提交到服务器的java代码

2. 如果执行编译后的代码

3. 如何收集java代码的执行结果

 

解决方案

1. 采取简单做法, 本机编译完, 上传到服务端

2. 类加载器加载类生成class对象, 反射调用对象方法

3. 在执行类中把System.out的符号引用替换为PringtStream的符号引用

 

主要依赖以下几个类

 

 

 

 

 

这时候在本机编写目标运行类

controller写个入口

运行 上传class文件

 

大工告成

 

深入理解java虚拟机

https://book.douban.com/subject/24722612/

网上引用的部分代码

https://github.com/zlserver/jvm_code/tree/master/%E7%AC%AC9%E7%AB%A0

 

 

 

你可能感兴趣的:(jvm)