所有运行的 Java 应用程序都使用相同的 JVM,还是“每个 Java 应用程序一个 JVM”适用? (假设应用程序是 IntelliJ IDEA、服务器和 NetBeans)
此外,每个Java应用程序分配的JVM和使用的进程之间是否有任何联系?
一般来说,每个应用程序都会有自己的JVM实例和自己的操作系统级进程,并且每个JVM实例都是相互独立的。
有一些实施细节,例如班级数据共享 http://download.oracle.com/javase/6/docs/technotes/guides/vm/class-data-sharing.html,其中多个 JVM 实例可能共享一些数据/内存,但这些对应用程序没有用户可见的影响(希望除了改进启动时间之外)。
然而,常见的场景是单个应用程序服务器(或“Web 服务器”),例如运行多个 Web 应用程序的 Glassfish 或 Tomcat。在这种情况下,多个 Web 应用程序可以共享一个 JVM。不过,随着容器化和微服务的发展,这种设置已经变得不太常见了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)