1

早上好 。

如果克隆现有的 Linux 机器以创建它的另一个实例,

它会有相同的JVM实例吗?

我问这个问题是因为当我们通过 Linux 脚本进行生产部署时,它会创建 5 次代码战争并将它们部署到 5 个 Jetty Web 服务器实例中,我观察到代码共享相同的 JVM?

这怎么可能??

我正在使用 Jetty 8 并且拥有 Jetty 服务器的机器是 Ubuntu 。

4

2 回答 2

1

不同的物理(或虚拟)机器会有不同的jvm

然而,可以将多个战争部署到一个码头实例中,并让所有这些 webapps 在 on jvm 中运行

也可以使用 jetty 在同一个 jvm 内启动多个 jetty 服务器

但是 jvm 只是操作系统的进程,并且 5 个不同的 linux 安装实例不会在它们之间共享 jvm

于 2012-10-31T13:21:50.100 回答
0

Java 5 有一个称为类数据共享的内部特性。您可以手动创建转储并使用它们。这个stackoverflow答案可能会有所帮助。如果你想提高启动时间,你可以使用nailgun。Nailgun 是一个 JVM 服务器,用于从命令行运行 Java 程序,而不会产生 JVM 启动开销。

于 2013-04-07T21:28:24.287 回答