java也是有进程的java.lang.Process就是关于进程的。普通的java程序不考虑进程是因为jvm的缘故,所有的java线程都是由jvm来管理的。这样jvm才可以控制各个类的资源回收于释放。如果要在其他的进程运行一个java类,非要产生一个新的jvm不可的。

解决方案 »

  1.   

    java.lang.Process应该是平台相关的吧!
     还有我最关心的空间问题呢?
      

  2.   

    一个进程对应一个jvm  那么 进程之间通信势必很难解决。我并不擅长这方面 关注喽
      

  3.   

    java的线程搞得有点不可靠,比起unix下的process差远了
      

  4.   

    java的线程是一个轻量级的线程,相比windows下的一个线程而言!
      

  5.   

    我感觉楼主没学过操作系统
    java 有专门的一节讲那个还不行吗
    学java 在于体系结构而不在于代码的编写
    楼主那点要记住
    java是学过很多东西的人学的
    c++很难学 java来取代c++做工java代码简单
    体系难
      

  6.   

    wyqiang(强) ,你的话很搞笑,我接触(夸张一点则为研究)linux内核已经有三年时间了,在操作系统方面大约你是没有资格教育我的
         我关心的是,现在没有一个人能正面回答我提出的这个问题。
      

  7.   

    呵呵,偶来说几句,权作抛砖引玉。进程与线程原本是操作系统领域的概念,而编程是在操作系统上进行的,由此编程语言和操作系统在线程和进程的概念上发生了些许重合。
    C语言对进程的支持是通过外部的lib进行的。如若用C来处理线程,同样也必然得通过第三方的lib。Java对线程的支持是语言级的,简单地或从表面上讲,在java中存在同线程相关的些许关键字。
    据我猜测(如有错误请原谅),你所说的空间就是数据变量的作用域。在这方面对于线程而言,Java语言对此也有明确的定义,决不含糊。而进程,java虽然提供了创建和控制进程的一些手段,但从概念上来讲,java的确是同C的差异就很大了,这是由于Java本身是解释型语言这个特性所造成的必然。 不过,如若想在java中进行类似于所谓进程间的通信IPC,也绝非难事。
      

  8.   

    摘录的,期望对楼主有帮助。进程:多任务系统的产物 很久很久以前,是没有进程这个东西的。那时候的操作系统只能把要做的工作排好队,做完这件再做下一件,最多也就加个优先级,哪个关系好就先做哪一个。于是那些想一边听歌一边写程序的程序员们便不干了,开始修理那个操作系统,使之能同时运行多个程序。于是进程就出现了:它就是一个程序在数据集合上的一次执行。 因为突然变得僧多粥少了,所以每个进程只好做一些额外的事情:在别人使用之前把自己的东西收拾好,下次轮到自己时再摆出来。为了保存这些额外的东西,进程的结构也发生了相应的变化。一个进程被分成三大部分:代码段、数据段和PCB(进程控制块) 。
     在多出来的PCB中,我们保存了如下信息: l          进程标识符(操作系统用于识别进程的唯一标识)l          处理机状态(主要是通用寄存器,指令寄存器,PSW和用户栈指针)l          进程调度信息(状态、优先级,被阻塞原因和其他一些乱七八糟的东西)l          进程控制信息(同步信息、代码段和数据段的信息、资源清单和指向下一个PCB的指针) 操作系统正是通过PCB来管理这多个进程。在这样的系统里,进程既是操作系统独立调度和分派的基本单位,又是一个可拥有资源的独立单位。 线程:进程的再分身 好了,现在程序员可以一般听歌一边写程序了。可是不幸的或者说是幸运的,新的问题出现了。如果多个进程间使用很多相同数据的话,实在是太浪费了。我们当然不能允许这样的事情持续下去,所以线程出现了。同一个进程下可以拥有多个线程,它们共享这个进程的资源,它们之间的切换也不再需要PCB,而只需要极少一点资源就可以了。在这样的操作系统里,线程变成了系统调度和分派的基本单位。 简单的说进程和线程有如下不同: l          进程可以拥有资源,线程共享进程拥有的资源l          进程间的切换必须保存PCB,同个进程的多个线程间的切换不用那么麻烦 最后我们以一个实例来作为本文的结束:当你在一台PC上打开两个QQ时,每一个QQ是一个进程;而当你在一个QQ上和多人聊天时,每一个聊天窗口就是一个线程。
      

  9.   

    jvm 设计为单进程多线程,其线程是内核级线程而非用户级,依赖操作系统。
      

  10.   

    进程空间指的是进程的address space 
    以通常的windows及linux进程来讲(ia 32),用户空间3g 内核空间1g
    用户空间又可大略分为text data heap stack。
      JVM显然应该有所不同,那么,线程的栈多大?text section及data setion有没有?
    线程有没有独立的地址空间?各个线程间的关系如何?(是否共享地址空间,如windows的同属一个进程的线程)
      JVM相对与于操作系统的进程又是什么关系?(运行java程序,此时启用的 JVM若用操作系统的观点看是什么?正在运行java程序中的线程若用操作系统的观点看又是什么?(我估计对操作系统可能是不可见的,也可能可见,取决于实现)
      我刚学习java,还情指教,但请不懂的人不要回答以免浪费看帖子人的精力
      

  11.   

    不知是csdn的水平差还是我的问题差?这两天我查了些资料,基本上把我的问题解决了,但这100分不想乱给(因为回答的人都配不上),想要分的进来,每个人2分,30人为止
      

  12.   

    我不要分,楼主是来砸厂子的吧,不喜欢java就别问那么多
      

  13.   

    “200分,没人要吗?”虽然可能没人的解答如你的意但是别人也不是乞丐
    ,,虽然你研究linux内核三年了,虽然你是高手。。虽然
    我只是一只小小鸟
    但是我
    不要分