gpt4 book ai didi

java - 当我们在不同的命令提示符下发出 java 命令时,会创建多少个 JVM 实例?

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

谁能告诉我当我们在不同的命令中发出以下命令时,将创建多少个 jvm 实例。

- command 1: c:\java -Xms32m -Xmx512m -Xss254k AccountSalary
- command 2: d:\java -Xms32m -Xmx512m -Xss254k AccountSalary
- command 3: c:\java -Xms32m -Xmx512m -Xss254k AccountSalary

他们是否会使用保存 jvm 堆大小或为每个 java 进程使用不同的堆大小?

最佳答案

每次运行 java 命令时,都会创建一个新的 JVM 实例。 (并且每个 JVM 实例都是一个不同的进程。)

因此,在您的示例中,JVM 实例的数量将为 3。

JVM 实例不共享堆。每个都有自己的堆。创建多个堆不会节省堆空间。 (实际上,与使用多线程在同一 JVM 中运行应用程序的 3 个实例相比,创建多个 JVM 可能会使用更多的堆空间。)

大小是独立的。它们由各个 JVM 的命令行选项决定...


对于大多数 JVM, JVM 实例之间共享的唯一内存是包含 JVM 代码和(可能)共享 native 库的只读段。

从历史上看,有一些 JVM 可以在 JVM 之间共享已编译的 Java 代码。但是,它很复杂,而且(据我所知)当前一代 JVM 不支持它。

关于java - 当我们在不同的命令提示符下发出 java 命令时,会创建多少个 JVM 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22219766/

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