java运行原理
jvm 一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信。
一组寄存器、
一个栈、
一个垃圾回收堆
一个存储方法域
编译时 .java源代码 -----》 .class字节码
运行时 类加载器 -----》字节码校验器 ------》 解释器|JIT代码生成器 ----》硬件
VM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改地运行。这个也是java最大的特色跨平台性,也就是一处编写,处处运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。这就是java最受人批评的一个地方,运行在JVM上面当然没有直接运行在操作系统上快。所以有人总是说java的运行速度比不上C语言。