rt!谢谢了!

解决方案 »

  1.   

    一个jvm运行在一个进程里,java代码里可以通过Runtime.exec来启动另外一个进程多进程间,各自的jvm是独立的
      

  2.   

    Runtime#exec 是 Java API 中唯一一个进程间调用方法。
      

  3.   

    进程 这个概念............应该是1个虚拟机代表一个java进程。在同一个应用程序中起多个虚拟机,好像是听说过,真的是好像。所以我觉得有。
      

  4.   

    如何把jvm 理解成虚拟机的话 那么为什么不能在一个虚拟机里跑多个进程呢? 是效率还是实现复杂呢?
    何为进程间调用呢? 应该是直接跑其它程序吧!对于 exec而言!
      

  5.   

    jvm 本身就是虚拟机的概念,不用理解成虚拟机。一个虚拟机里跑的是多个线程。其他的不会。求ls解答
      

  6.   

    为什么一个虚拟机里面跑的是多个线程?  vm 还是vbox?
      

  7.   

    Java多线程啊,一个java进程可以有跑多个Java线程....   vm和vbox是啥啊 不懂
      

  8.   

    java实现的是一种多线程的机制,就java本身概念而言(虚拟机规范),线程级别的。
    但是java到底是多进程的还是多线程的,根本由操作系统本身来决定,并不由java来决定,因为进程与线程的这种机制本身就只取决于操作系统,而不取决于高级语言语言,对于内存分配以及cpu时间片段的分配利用,是由更低级的比操作系统低的语言来实现。
    对于一些老式的unix操作系统,它是没有线程概念存在的,它的异步协作方式就是多进程共享内存的方式来完成的,因此,在这种操作系统上,根本就不存在线程,java也没法实现线程,因此java就是多进程的应用程序,由多个java进程来完成协作。然而在windows上面,进程间的内存空间是互相独立的,数据不能直接共享,它的异步协作方式由进程中的线程来完成,这些线程共享进程所属内存来完成异步协作,所以java在这种操作系统上,表现的就是单进程多线程的方式。
    就进程与线程的概念,并不是java本身一个概念,它们是操作系统级别的概念,java只是将操作系统的这种方式进行了包装,而并非自己去实现一套cpu时钟与内存访问机制,java本身是跳不出操作系统层面的。