在标准形式下,Java虚拟机就是一个字节码解释器。
它会解释运行Java编译以后产生的字节码。

解决方案 »

  1.   

    虚拟机,顾名思义就是一台虚拟的机器,他只是操作系统的一个进程.每运行一个java程序,就生成一个虚拟机实例.他们是2个单独的运行空间,2个之间交互一般通过rmi,corba等虚拟机内部,一般这么几个组成部分,
    1.方法区,从每个class文件中解析这个类的信息,放进方法区,只会解析一次,还有这个类的class等,
    2.堆:存放每个类生成的对象,也就是你用new 生成的那个对象,数组等.每个线程,都有自己的pc寄存器和java栈
    3.pc寄存器 控制程序运行步骤.
    4.栈,栈又由栈帧组成,栈帧又分别又局部变量栈,操作数栈,数据区等线程区域是私有的,一个线程不能访问另一个线程的pc寄存器和栈,2个线程之间通信要通过协调和互斥机制,synchronized,wait,notify吃饭去了
      

  2.   

    噢,对了,虚拟机内还有一个本地方法栈,调用了本地方法就不受java的安全限制了,本地方法和虚拟机拥有同样的权限