<dependency> <groupId>com.googlecode.jitescript</groupId> <artifactId>jitescript</artifactId> <version>1.2.1</version> </dependency> import com.googlecode.jitescript.JDKVersion; import com.googlecode.jitescript.JiteClass; public class JitescriptExample { public static void main(String[] args) { jit -> { jit.getstatic(System.class, "out", System.out.getClass()); jit.swap(); jit.invokevirtual(System.out.getClass(), "(Ljava/lang/Object;)V"); jit.voidreturn(); }); } } import java.lang.reflect.Method; public class ExecutionExample { public static void main(String[] args) throws Exception { ClassLoader classLoader = new CustomClassLoader(); Class<?> enhancedClass = classLoader.defineClass("ExampleClass", bytecode, 0, bytecode.length); Object instance = enhancedClass.getDeclaredConstructor().newInstance(); Method enhancedMethod = enhancedClass.getDeclaredMethod("exampleMethod", String.class); enhancedMethod.invoke(instance, "Hello World!"); } } class CustomClassLoader extends ClassLoader { public Class<?> defineClass(String name, byte[] bytecode, int off, int len) { return defineClass(name, bytecode, off, len); } }


上一篇:
下一篇:
切换中文