1.JVM基础

1.JVM是什么

  • 它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
  • jvm 跟java无关   是一种规范。
  • JVM的作用:为java程序提供一个可以运行的环境;Java程序的跨平台特性主要就是因为JVM实现的。

2.JVM的体系结构

 JVM内部体系结构大致分为三部分:

  • 类装载器(ClassLoader)子系统:根据给定的全限定名类名(如:java.lang.Object)来装载class文件到Runtime data area中的method area
  • 运行时数据区:这就是我们常说的JVM的内存。
  • 执行引擎:执行classes中的指令。
  • 本地接口 native libraries 交互,是其它编程语言交互的接口。

3.JAVA代码执行流程

流程
  1. 首先通过编译器把 Java 代码转换成字节码
  2. 类加载器(ClassLoader)再把字节码加载到 内存中,将其放在运行时数据区(Runtime data area)的方法区内,而字节码文件只是 JVM 的一 套指令集规范,并不能直接交给底层操作系统去执行
  3. 因此需要特定的命令解析器执行引擎 Execution Engine),将字节码翻译成底层系统指令,再交由 CPU 去执行
  4. 而这个过程中需要调用其他语言的本地库接口(Native Interface)来实现整个程序的功能。

4.JVM的架构模型

java 编译器的指令流基本是基于栈的指令集架构

  • 基于栈的式架构
    • 适用资源受限系统
    • 避开了寄存器的分配问题,使用零地址指令分配方式, 执行过程依赖操作栈
    • 指令集更小 但指令多
    • 可移植性好
  • 基于寄存器式架构
    • 完全依赖硬件 可移植性差
    • 性能好 执行高效
    • 基于一地址 二地址 三地址指令 (即计算机组成里的指令格式)

5.JVM的生命周期

  • ①启动
    • 通过引导类加载器创建一个初始类,这个类由虚拟机的具体实现来指定
  • ②执行
    • 程序执行时才运行,程序结束时他就停止
    • 执行java程序的时候,真正在执行的是JAVA虚拟机进程
  • ③退出
    • 正常执行结束
    • 有异常或错误
    • 操作系统出现错误导致jvm终止

注:图片位转载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值