Skip to content

shaojunying/OnlineExecutor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OnlineExecutor

Java代码在线执行器

参考《深入理解Java虚拟机》9.3 实战:自己动手实现远程执行功能

功能

Done

  • 自定义ClassLoader从而实现重复加载同一个类
  • 自定义HackSystem用于替换默认的输出流
  • 编写ClassModifier用于将字节码中的java/lang/System替换为com/shao/HackSystem
  • 编写StringSourceCompiler,实现了动态编译功能。在内存中直接将源代码字符串编译为字节数组
  • 使用Spring Boot、Spring MVC搭建了一个系统,可以在线编译、运行Java代码

TODO

  • 完善HackSystem的并发同步问题

如何运行

Maven

mvn spring-boot:run 

运行截图

技术细节

TODO

CHANGE LOG

CHANGE LOG

About

Java代码在线执行器

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published