一个jre里面有几个jvm? 两个程序run在同一个jvm和不run在同一个jvm里面有什么区别?比如我开了两个eclipse,每个eclipse里面run一个程序,那么我这两个程序是run在同一个jvm里还是不同
的jvm里,为什么?? 希望能解释详细些,这个问题困扰我很长时间了。 谢谢!!

解决方案 »

  1.   

    找本java编译原理看看吧.这问题要关心性能和内存的人才知道.不过java就不是强在运行速度上
      

  2.   

    打开任务管理器,一个 java/javaw 进程你就可以理解为一个 JVM。
      

  3.   

    是不是啊,我觉得至始至终就一个jvm吧?
      

  4.   

    2个 版本,server版和client版
      

  5.   

    那如果打开3个eclipse呢,3个jvm?
      

  6.   

    去看看一本叫《深入java虚拟机》的书,里边队JVM做了详细的介绍
      

  7.   

    每一个都运行在一个单独的jvm实例中,实例是啥就不说了把
      

  8.   

    把jvm想象成一个进程,当你运行一个程序的时候,这个程序是有 一个入口的,则调用起来一个进程,那个进程号就是jvmpid,你可以在写一个main(),然后调用Thread.sleep();  运行main,打开任务管理器,查找java/javaw 进程,这个就是你所运行程序的进程,也就是一个jvm,前面的进程号就是你的该jvm的pid,不一定非要用eclipse来启用多个main,命令行就可以
      

  9.   

    同样不解,为何一个玩意就会产生一个javaw.exe
    一个eclipse占一个javaw.exe
    eclipse中如果开一个Server就又会多一个javaw.exe。
      

  10.   

    Java 深度探索者 QQ群: 65670864
      

  11.   

    一个jdk包含一个jre
    一个jre有一个jvm用eclipserun得看你具体的eclipse
    下载的是all-in-one的eclipse或myeclipse那么本身包含jdk当然也包含自己的jre和jvm,这时如果你不改它的配置那么即使你的机器也装了jdk或jre,你在eclipse里run的java程序还是用eclipse自带的jre下载的eclipse也有那种不是all-in-one的,也就是要依赖你机器上装的jdk的,那么运行java程序以来的就是你机器上原装的jdk下载myeclipse也是这样,all-in-one的是带jdk、带eclipse