java - 使用流程构建器来启动类(class)?

标签 java class process processbuilder

我想知道在java中是否可以使用进程构建器来启动类的实例..

喜欢

ProcessBuilder pb = new ProcessBuilder(new OtherClass());
Process my_other_class = pb.start();

或者类似的东西..这可能吗..?

最佳答案

ProcessBuilder 用于启动另一个 Process 或者简而言之,用于启动程序的新副本。

要运行另一个 public static void main(String[] args) 方法,您需要将 ProcessBuilderjava 命令行参数结合起来及其所有参数(类路径等)。这将在另一个 JVM

中创建该类的新实例

要在同一个 JVM 中创建类的另一个实例,您只需调用 new ClassName(parameters);

如果您希望新类独立于启动代码块运行,那么您需要确保该类实现 Runnable扩展 Thread 并正确启动;但是,初始化仍然在构造函数中完成。

由于这两个实例均由其构造函数中的代码初始化,因此不清楚您正在寻求哪种类型的初始化。所有类都在其构造函数中初始化,因此添加 ProcessBuilder 似乎是一个令人困惑的“红鲱鱼”。

关于java - 使用流程构建器来启动类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13380556/

相关文章:

java - NullPointerException:尝试在空对象引用上调用虚拟方法 'boolean java.lang.String.equalsIgnoreCase(java.lang.String)'

垃圾回收

c++ - 如何调整作为结构或类成员的 vector 的大小?

python - 为什么我们应该在 subprocess.Popen 中使用 stdout=PIPE?

java - 如何在 Portlet (IPC) Liferay portlet 之间传递对象

java - ViewPager 和 fragment : Why do I always see the same thing?

类本身的 Javascript Getters 和 Setters

Java:在for循环中调用类

父进程退出后,子进程无法从终端读取

php - 在 proc_open 之后获取真正的退出代码