JVM是在用户进程还是单独进程中运行

时间:2017-11-12 14:20:00

标签: java garbage-collection jvm jvm-hotspot java-threads

我已经将JVM作为一个进程和一个deamon线程来阅读 根据Java,每个进程都有自己的JVM和垃圾收集器

有人可以向我解释一下这方面的更多细节。

" JVM是在User Application Process上还是在单独的进程中运行。" ??

到处都是,我把它作为Application Process的一个实例来阅读。 我也读过它,因为GC有多个线程。

GC是一个单独的进程还是在用户进程上创建线程。?

2 个答案:

答案 0 :(得分:0)

  1. JVM在通过在Windows上执行java.exe / javaw.exe或在Unix / GNU上执行java可执行文件而启动的进程内运行。它的所有者将是运行可执行文件的所有者。如果两个java程序正在运行,那么将创建不同进程中的两个JVM。

  2. GC是JVM中的一个线程,请参阅here

  3.   

    例如,Java垃圾收集器是一个守护程序线程。

答案 1 :(得分:0)

可以通过JNI_CreateJavaVM从现有流程中启动JVM。 JVM通常由多个线程组成,无论它是在拥有进程中运行还是作为单独的进程运行。术语“应用程序”与进程和线程处于不同的抽象级别。