From 0e9b302b5a3680d14d11f29353d87ce7bf1aa7ff Mon Sep 17 00:00:00 2001 From: wangxiang <276644985@qq.com> Date: Fri, 21 Jul 2023 20:57:11 +0800 Subject: [PATCH] update Main --- src/main/java/haidnor/jvm/Main.java | 2 +- src/test/java/haidnor/jvm/test/TestJVM.java | 2 +- src/test/java/haidnor/jvm/test/demo/Demo5.java | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/haidnor/jvm/Main.java b/src/main/java/haidnor/jvm/Main.java index bcb85ef..14cb7d5 100644 --- a/src/main/java/haidnor/jvm/Main.java +++ b/src/main/java/haidnor/jvm/Main.java @@ -35,12 +35,12 @@ public class Main { // TODO } if (cmd.hasOption("class")) { + JvmThreadHolder.set(new JvmThread()); String path = cmd.getOptionValue("class"); ClassLoader bootClassLoader = new ClassLoader("ApplicationClassLoader"); Klass mainMeteKlass = bootClassLoader.loadClassWithAbsolutePath(path); KlassMethod mainKlassMethod = JavaClassUtil.getMainMethod(mainMeteKlass); Metaspace.registerJavaClass(mainMeteKlass); - JvmThreadHolder.set(new JvmThread()); JavaExecutionEngine.callMainStaticMethod(mainKlassMethod); } diff --git a/src/test/java/haidnor/jvm/test/TestJVM.java b/src/test/java/haidnor/jvm/test/TestJVM.java index 9ed3822..e8c2386 100644 --- a/src/test/java/haidnor/jvm/test/TestJVM.java +++ b/src/test/java/haidnor/jvm/test/TestJVM.java @@ -22,11 +22,11 @@ public class TestJVM { @SneakyThrows public static void runMainClass(java.lang.Class mainClass) { + JvmThreadHolder.set(new JvmThread()); ClassLoader bootClassLoader = new ClassLoader("ApplicationClassLoader"); Klass mainMeteKlass = bootClassLoader.loadClass(mainClass.getName().replace('.', '/')); KlassMethod mainKlassMethod = JavaClassUtil.getMainMethod(mainMeteKlass); Metaspace.registerJavaClass(mainMeteKlass); - JvmThreadHolder.set(new JvmThread()); JavaExecutionEngine.callMainStaticMethod(mainKlassMethod); } diff --git a/src/test/java/haidnor/jvm/test/demo/Demo5.java b/src/test/java/haidnor/jvm/test/demo/Demo5.java index 39649e3..2b42a16 100644 --- a/src/test/java/haidnor/jvm/test/demo/Demo5.java +++ b/src/test/java/haidnor/jvm/test/demo/Demo5.java @@ -2,6 +2,10 @@ package haidnor.jvm.test.demo; public class Demo5 { + static { + System.out.println("hello,world"); + } + public static void main(String[] args) { String str = method1("hello world"); method1(str);