plp
V2EX  ›  Java

关于 JVM 进程和系统进程

  •  
  •   plp · Dec 25, 2018 · 2472 views
    This topic created in 2766 days ago, the information mentioned may be changed or developed.
    一个 Java 程序运行在 JVM 上;此时这个有程序运行的 JVM 是当前系统的一个进程;而此时 Java 程序是 JVM 上的一个进程,这样理解对吗
    a510431599
        1
    a510431599  
       Dec 25, 2018   ❤️ 1
    JVM 是一份本地化的程序,本质上是可执行的文件,是静态的概念。程序运行起来成为进程,是动态的概念。
    java 程序是跑在 JVM 上的,严格来讲,是跑在 JVM 实例上的,一个 JVM 实例其实就是 JVM 跑起来的进程,二者合起来称之为一个 JAVA 进程。
    各个 JVM 实例之间是相互隔离的
    neoblackcap
        3
    neoblackcap  
       Dec 25, 2018
    JVM 的进程实现直接使用系统进程,线程也是。你的程序是在被 JVM 解释或者 jit 后执行,你所谓的程序是执行的内容,不存在你的程序另外在一个进程跑,是 JVM 在跑你的程序,没有 JVM,你的程序无从谈起。
    plp
        4
    plp  
    OP
       Dec 25, 2018
    @qwertty01 前 10 个都看了才来问的,没看到说名词上下文的
    plp
        5
    plp  
    OP
       Dec 25, 2018
    @neoblackcap 是不是 JVM 只是一个媒介,解释后 Java 程序还是相当于运行在系统进程里;然后 JVM+JAVA 程序是就组成了当前系统进程
    neoblackcap
        6
    neoblackcap  
       Dec 25, 2018   ❤️ 1
    @Vtwoguest 你这样理解,大体没有错,是 JVM 加你写的 Class 文件组成了你的程序,JVM 就是你程序的运行时,runtime。这些概念你应该去看一些基础的书补一下。
    plp
        7
    plp  
    OP
       Dec 25, 2018
    @neoblackcap 好的,谢谢
    qwertty01
        8
    qwertty01  
       Dec 25, 2018   ❤️ 1
    @Vtwoguest 唉,我看了也都不行。

    真正用法应该是去谷歌

    出来第一个是这个 https://blog.csdn.net/ghj1976/article/details/5481038

    还有这个 https://www.ibm.com/developerworks/cn/java/j-lo-processthread/index.html
    plp
        9
    plp  
    OP
       Dec 25, 2018
    @qwertty01 好的,谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3265 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:34 · PVG 19:34 · LAX 04:34 · JFK 07:34
    ♥ Do have faith in what you're doing.