有多少 JVM 在 main 中调用 main
How many JVM calling main inside main
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 是 JUST 另一个静态方法,一旦 JVM 在 A.main 作为初始化函数启动。
选项2.mains只是每个class的静态方法,从A调用B.main(args)
时只有一个JVM是运行。
您还可以在 JUNIT 测试中使用它来帮助检查命令行启动行为是否符合预期,例如
@Test void coverage() {
A.main(new String[] { "a","b" }); // or B.main
// assertions here if there is some output state you could check
}
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 是 JUST 另一个静态方法,一旦 JVM 在 A.main 作为初始化函数启动。
选项2.mains只是每个class的静态方法,从A调用B.main(args)
时只有一个JVM是运行。
您还可以在 JUNIT 测试中使用它来帮助检查命令行启动行为是否符合预期,例如
@Test void coverage() {
A.main(new String[] { "a","b" }); // or B.main
// assertions here if there is some output state you could check
}