为每个应用程序创建的每个jvm,都是一个线程或一个进程

时间:2015-10-26 11:03:34

标签: java multithreading process jvm

为用户开始使用jre的每个应用程序分配一个新的JVM实例。这个JVM是新进程还是线程?为什么?

3 个答案:

答案 0 :(得分:3)

  

这个JVM是新进程还是线程?

一个过程。

  

为什么?

a)因为那就是"现代"操作系统工作...

b)因为如果JVM是线程(在更大的进程中),那么不同的JVM将能够相互干扰不可能完全控制的方式。

c)因为尝试解决b)会很困难,并且很可能会产生重大的性能影响。

答案 1 :(得分:0)

JVM等同于操作系统进程.JVM是Java虚拟机。它是一个内存空间,其中加载类并共享对象。 这是一个过程......

答案 2 :(得分:0)

如果JVM是一个线程,那么JVM如何管理所有这些I / O控制,线程控制和控制在JVM下运行的应用程序(谁应该启动JVM?)。 线程没有单独的地址空间,在共享内存空间中运行。线程设计用于执行小任务,并且加载繁重的任务导致无法处理的情况(从OS角度来看)。线程可以轻松地进行通信,而IPC是非常耗费资源的。我们每天都在安装软件,我们正在创建流程。