每个 Java 应用程序是否有一个 JVM? [英] Is there one JVM per Java application?

查看:34
本文介绍了每个 Java 应用程序是否有一个 JVM?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否所有运行的 Java 应用程序都使用同一个 JVM,或者每个 Java 应用程序一个 JVM"是否适用?(假设应用程序是 IntelliJ IDEA,例如服务器和 NetBeans)

Is the same JVM used by all Java applications running or, does 'one JVM per Java application' apply? (say the applications are IntelliJ IDEA, a server and NetBeans for example)

此外,分配的 JVM 与每个 Java 应用程序使用的进程之间是否存在任何联系?

Further, is there any connection between JVMs assigned and processes used by each Java application?

推荐答案

一般来说,每个应用都会有自己的JVM实例和自己的OS级进程,每个JVM实例都是相互独立的.

Generally speaking, each application will get its own JVM instance and its own OS-level process and each JVM instance is independent of each other.

有一些实现细节,例如类数据共享,其中多个 JVM 实例可能共享一些数据/内存,但这些对应用程序没有用户可见的影响(希望改善启动时间除外).

There are some implementation details such as Class Data Sharing, where multiple JVM instances might share some data/memory but those have no user-visible effect to the applications (except for improved startup time, hopefully).

然而,一个常见的场景是运行多个 Web 应用程序的单个应用程序服务器(或Web 服务器"),例如 Glassfish 或 Tomcat.在这种情况下,多个 Web 应用程序可以共享一个 JVM.

A common scenario however is a single application server (or "web server") such as Glassfish or Tomcat running multiple web applications. In this case, multiple web applications can share a JVM.

这篇关于每个 Java 应用程序是否有一个 JVM?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆