JVM-第四章-执行引擎(不含垃圾回收)

Java执行引擎及编译执行过程解析

第四章-执行引擎

一、执行引擎的概述

  • 什么是执行引擎:
    • 如果想让一个Java程序运行起来,执行引擎的任务就是将字节码指令解释/编译为对应平台的本地机器指令才可以

二、Java代码的编译和执行过程

  • javac
    • 源程序、词法分析、单词流、语法分析、抽象树
  • java
    • 指令流(可选)、解释器、解释执行
    • or 优化器(可选)、中间代码(可选)、目标代码

三、机器码、指令、汇编语言

  • Java是从 高级语言 - - - 汇编语言 - - - 机器码

四、解释器

五、JTI编译器

  • JTI编译器执行分类
    • 第一种就是将源代码编译成字节码文件,然后在运行时通过解释器字节码文件转为机器码执行
    • 第二种是编译执行(直接编译成机器码)。现代虚拟机为了提高执行效率,会使用即时编译器技术,将方法编译成机器码后再执行
  • 概念解释
    • Java 语言的 “编译期” 其实是一段 “不确定” 的操作过程,因为他可能是指一个前端编译器 把Java文件转变为字节码文件
    • 也可能指虚拟的的后端运行期编译器把字节码转变成机器码的过程。
    • 还可能指使用静态提前编译器直接把Java文件编译成本地机器码的过程。
  • 热点代码探测
    • 目前HotSopt VM采用的热点探测技术是基于计数器的热点探测技术。
    • 采用基于计数器的热点探测,HotSpot VM将会分为每一个方法都建立两个不同类型的计数器,分别为方法调用计数器回边计数器
      • 方法调用计数器:用于统计方法的调用次数
      • 回边计数器:用于统计循环体执行的循环次数
  • HotSpot VM的模式切换
    • -Xint :完全采用解释器模式执行代码
    • -Xcomp:完全采用即时编译器执行程序,如果及时编译器出现问题,解释器会介入执行
    • -Xmixed采用即时编译器 + 解释器混合模式,默认
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值