我想知道java中是否可以使用进程构建器来启动类的实例..
像
ProcessBuilder pb = new ProcessBuilder(new OtherClass());
Process my_other_class = pb.start();
或类似的东西..这甚至可能......?
答案 0 :(得分:2)
ProcessBuilder
用于启动另一个Process
或简称为启动程序的新副本。
要运行另一个public static void main(String[] args)
方法,您需要将ProcessBuilder
与java
命令行参数及其所有参数(类路径等)组合在一起。这将创建该类的新实例,在另一个JVM中
要在同一个JVM中创建另一个类实例,只需调用new ClassName(parameters);
如果您希望新类独立于启动的代码块运行,那么您需要确保类implements Runnable
或extends Thread
并正确启动;但是,初始化仍在构造函数中完成。
由于两个实例都是由构造函数中的代码初始化,因此不清楚正在寻找什么样的初始化。所有类都在其构造函数中初始化,因此添加ProcessBuilder
似乎是一个令人困惑的“红鲱鱼”。