V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Vtwoguest
V2EX  ›  Java

关于 JVM 进程和系统进程

  •  
  •   Vtwoguest · 2018-12-25 15:44:10 +08:00 · 1933 次点击
    这是一个创建于 2158 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个 Java 程序运行在 JVM 上;此时这个有程序运行的 JVM 是当前系统的一个进程;而此时 Java 程序是 JVM 上的一个进程,这样理解对吗
    a510431599
        1
    a510431599  
       2018-12-25 15:52:03 +08:00   ❤️ 1
    JVM 是一份本地化的程序,本质上是可执行的文件,是静态的概念。程序运行起来成为进程,是动态的概念。
    java 程序是跑在 JVM 上的,严格来讲,是跑在 JVM 实例上的,一个 JVM 实例其实就是 JVM 跑起来的进程,二者合起来称之为一个 JAVA 进程。
    各个 JVM 实例之间是相互隔离的
    neoblackcap
        3
    neoblackcap  
       2018-12-25 16:03:21 +08:00
    JVM 的进程实现直接使用系统进程,线程也是。你的程序是在被 JVM 解释或者 jit 后执行,你所谓的程序是执行的内容,不存在你的程序另外在一个进程跑,是 JVM 在跑你的程序,没有 JVM,你的程序无从谈起。
    Vtwoguest
        4
    Vtwoguest  
    OP
       2018-12-25 16:06:42 +08:00
    @qwertty01 前 10 个都看了才来问的,没看到说名词上下文的
    Vtwoguest
        5
    Vtwoguest  
    OP
       2018-12-25 16:16:08 +08:00
    @neoblackcap 是不是 JVM 只是一个媒介,解释后 Java 程序还是相当于运行在系统进程里;然后 JVM+JAVA 程序是就组成了当前系统进程
    neoblackcap
        6
    neoblackcap  
       2018-12-25 16:19:15 +08:00   ❤️ 1
    @Vtwoguest 你这样理解,大体没有错,是 JVM 加你写的 Class 文件组成了你的程序,JVM 就是你程序的运行时,runtime。这些概念你应该去看一些基础的书补一下。
    Vtwoguest
        7
    Vtwoguest  
    OP
       2018-12-25 16:22:57 +08:00
    @neoblackcap 好的,谢谢
    qwertty01
        8
    qwertty01  
       2018-12-25 17:05:57 +08:00   ❤️ 1
    @Vtwoguest 唉,我看了也都不行。

    真正用法应该是去谷歌

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

    还有这个 https://www.ibm.com/developerworks/cn/java/j-lo-processthread/index.html
    Vtwoguest
        9
    Vtwoguest  
    OP
       2018-12-25 17:07:32 +08:00
    @qwertty01 好的,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5587 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.