您的位置:首页 > 运维架构 > 网站架构

JVM原理之整体架构

2015-07-22 09:09 561 查看
首先了解一下java程序的运行过程:



java源程序首先经过编译生成JVM识别的字节码.class文件,然后JVM加载.class字节码文件并相应的解释为当前系统识别的机器码。由这个过程可以看出,不同OS平台只是JDK只是对应的JVM有所不同。

再来看下java的整体架构:



这张图也说明了JDK与JRE区别,JDK有对应的开发工具及其API。

JVM位于JDK和JRE的底层,JVM之下就是对应的OS平台。

2、JVM(Java Virtual Machine)

Java虚拟机屏蔽了与平台的相关信息,从而使java实现了与平台无关性。java程序在编译时候将程序编译成为能够在java虚拟机上能够运行的目标代码即字节码,JVM将其解释成具体平台的机器指令。这就是java所倡导的“一次编译,到处运行”。

JVM运行过程:

(1)、加载.class文件

(2)、管理并分配内存空间

(3)、执行垃圾回收



JVM架构:



JVM作为操作系统的一个应用程序进程,也有相应的生存周期:

(1)启动:当执行一个java程序的时候就会启动一个JVM,public satic void main(String[] args)作为程序的执行入口,也是JVM运行的起点。

(2)运行:main()方法作为程序的初始进程,其他进程都是通过main()方法这里开始执行的。java中进程有守护进程和非守护进程,main()方法是非守护进程,守护进程一般是JVM自己运行的进程。

(3)消亡:当程序中所有的非守护进程都终止后,jvm才会退出,或者可以通过Runtime类和System.exit()退出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: