main中有多少个jvm调用main

omtl5h9j  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(238)
class B {
    public static void main(String[] args) {

    }
}
class A {
    public static void main(String[] args) {
        B.main(args);
    }
}

在上面的流程中,我的init方法是a.main,它反过来调用b.main。
我知道调用a.main会产生一个jvm。在a.main中调用b.main会产生另一个jvm吗?或
b、 main只是另一个静态方法,一旦jvm作为init函数在.main上启动。

mwyxok5s

mwyxok5s1#

方案2。mains只是每个类的静态方法,当从一个to调用时,只有一个jvm正在运行 B.main(args) .
您还可以在junit测试中使用此功能来帮助检查命令行启动行为是否符合预期,例如

@Test void coverage() {
   A.main(new String[] { "a","b" }); // or B.main
   // assertions here if there is some output state you could check
}

相关问题