Java虚拟机:共享还是拥有它自己的每个应用程序?

时间:2017-02-17 09:48:38

标签: java

如果我在物理机器上启动Java应用程序,然后启动第二个Java应用程序,第三个应用程序......等等。

每次启动新的Java虚拟机时。这样每个应用程序都拥有自己的JVM?

或者是为物理机的操作系统放大的第一个JVM分配的内存以及所有应用程序在一个JVM中运行? 这样总会只有一个JVM。

3 个答案:

答案 0 :(得分:2)

实际上当你“启动一个应用程序”时,你正在做的是启动一个新的JVM并告诉它通过命令行参数执行一个类。

但是,在servlet容器内执行的Web应用程序中,每个应用程序都有自己的类加载器,因此它们不会共享静态变量的内容。这可能会让您觉得每个JVM都运行在不同的JVM上。

答案 1 :(得分:2)

JVM - JRE的实例。运行应用程序时 - 初始化新的JVM。应用程序完成后 - 垃圾收集器将删除该实例。

答案 2 :(得分:-1)

每次启动新的Java应用程序时,都会创建一个新的JVM实例。应用程序在此JVM实例中运行。

相关问题