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()退出
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()退出
相关文章推荐
- php防止网站被刷新的方法汇总
- php防止网站被刷新的方法汇总
- VS2010发布Web网站技术攻略
- maven 镜像网站
- 深解微服务架构:从过去,到未来|架构(2015-07-15)
- 软件架构百度百科
- ARM架构
- 如何搭建轻量级架构-敏捷开发普及篇
- 架构师速成6.18-初中书单资料推荐
- 架构师速成6.18-初中书单资料推荐 分类: 架构师速成 2015-07-21 22:01 174人阅读 评论(0) 收藏
- 配置IIS6出现 出现验证码无法显示问题
- 19_Android中图片处理原理篇,关于人脸识别网站,图片加载到内存,图片缩放,图片翻转倒置,网上撕衣服游戏案例编写
- ANDROID开发中注意不同手机CPU架构对SO文件的不同需求。
- 高可用集群之heartbeat安装配置
- ffDrop的架构设计
- 网站字体的导入代码
- IIS网站调用FFMPEG执行截图命令失败的原因(暂时记录)
- 【Ogre引擎架构】第五讲 从零开始编写3dsMax导出插件
- MediaWIKI网站架设
- 支付宝扫描二维码登录网站