JVM原理、架构—整体架构

首先了解一下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()退出



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值