每个 Java 应用程序是否有一个 JVM?
是否所有运行的 Java 应用程序都使用相同的 JVM,或者“每个 Java 应用程序一个 JVM”是否适用?(假设应用程序是IntelliJ IDEA,例如服务器和NetBeans)
此外,分配的 JVM 与每个 Java 应用程序使用的进程之间是否存在任何连接?
是否所有运行的 Java 应用程序都使用相同的 JVM,或者“每个 Java 应用程序一个 JVM”是否适用?(假设应用程序是IntelliJ IDEA,例如服务器和NetBeans)
此外,分配的 JVM 与每个 Java 应用程序使用的进程之间是否存在任何连接?
一般来说,每个应用程序都会有自己的JVM实例和自己的OS级进程,每个JVM实例都是相互独立的。
有一些实现细节,例如类数据共享,其中多个JVM实例可能共享一些数据/内存,但这些实例对应用程序没有用户可见的影响(除了改进的启动时间,希望如此)。
然而,一个常见的场景是单个应用程序服务器(或“Web服务器”),例如Glassfish或Tomcat运行多个Web应用程序。在这种情况下,多个 Web 应用程序可以共享一个 JVM。
每个 Java 应用程序都有一个 JVM。它们之间不应该有任何连接,除非你建立一个连接,例如网络。如果您在 IDE 中工作,则编写的代码通常在单独的 JVM 中运行。IDE 通常会连接单独的 JVM 进行调试。如果您正在处理多个Web应用程序,如果将它们部署到同一个Web容器,则可以共享相同的JVM。