gpt4 book ai didi

java - 子任务在自己的堆空间

转载 作者:行者123 更新时间:2023-11-29 06:11:41 25 4
gpt4 key购买 nike

在 Java 中,假设你想在它自己的堆空间中运行一个任务(例如,这样它可以因内存不足错误而崩溃而不影响你程序的其余部分),你可以使用 Runtime.exec 加载 JVM以及文件系统中的相关字节码文件,并重做从头开始启动 Java 程序所需完成的所有工作。

如果您要运行的任务是相当细粒度的,那么这会有点高开销。有没有任何开销更低的方法来做到这一点?

最佳答案

既然您无论如何都会进行进程间通信,那么研究 RMI 是否适合您?使用 RMI 守护程序,您可以拥有可以向其提交作业并取回结果的池化进程。这也减轻了您手动管理生成 VM 等的负担。

或者查看基于作业队列的解决方案,其中主 VM 创建作业数据包并将它们转储到由一个或多个进程监视的队列中。无论如何,AFAIK,执行这些操作的最细粒度的方法不是按需生成 VM。

关于java - 子任务在自己的堆空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6562968/

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