gpt4 book ai didi

java - 跨 Java 进程共享对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:54:02 25 4
gpt4 key购买 nike

我正在从主应用程序执行另一个 JVM (java.exe)。有什么方法可以与新创建的进程(在创建时或创建后)共享一个对象(相当大的对象)。

someObject sO= new someObject();

//sO is populated

//Creating new process

Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("java -cp " + tempDir + jarsInPath + " " + appMain);

现在我希望 sO 对象可用于 proc 对象表示的进程

ProcessBuilder 是否为此目的提供任何实用程序?

最佳答案

如果要共享对象,最好的方法是使用线程而不是单独的进程。进程不能共享内存(通过 JNI 除外),因此您必须通过文件或通过 RMI 套接字连接以序列化形式来回复制大对象(后者是更好的选择,因为它会导致固有同步) .

关于java - 跨 Java 进程共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1437438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com