执行引擎 Execution Engine

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

解释器和JIT编译器

执行引擎的执行完全依赖PC寄存器。前端编译由javac完成,后端编译由执行引擎完成。

解释器:对字节码采用逐行解释的方式执行,将每条字节码内容翻译为本地机器指令执行

JIT编译器:虚拟机将源代码直接翻译成和本地机器平台相关的机器语言

 

何时使用JIT编译器?

        一个被多次调用的方法,或者是一个方法体内部循环次数较多的循环体都可被称之为“热点代码”,都可以通过JIT编译器编译为本地机器指令。由于这种编译方式在方法执行过程中,因此称之为栈上替换,或简称OSR。

        具体多少次可达到标准,需要一个阔值,主要依靠热点探测。HotSpot采用的热点探测方式是基于计数器的热点探测。建立两个不同类型的计数器,分别为方法调用计数器(方法的调用次数)和回边计数器(循环体循环次数)。

        方法调用计数器,client默认1500次,service默认10000次,草果就触发JIT编译。阔值设置参数-XX:CompileThreshold。

        热度衰减,一段时间内达不到次数,就会减少一半,这段时间就称之为半衰周期。虚拟机参数-XX:-UseCounterDecay设置是否进行热度衰减。可通过-XX:CounterHalfLifeTime参数设置半衰周期,单位是秒。

        Java虚拟机内部有两个JIT编译器,-client和-service,64位操作系统默认-service。区别就是-service优化强一些。C1的优化主要是方法内联、去虚拟化、冗余消除;C2的优化主要在全局层,逃逸分析是优化的基础:标量替换、账上分配、同步消除(synchronized)。 

        可用参数设置解释器和JIT编译器混的使用:

                -Xint解释器

                -Xcomp编译器器

                -Xmixed混合使用

execution_engine2:KBase执行引擎 execution_engine2 这是由生成的模块。 您需要安装SDK才能使用此模块。 。 您还可以从其或了解有关此模块中实现的应用程序的更多信息。 贡献 贡献要求,例如根据预先提交 本地设置和测试 有关如何在本地进行测试的信息,请参见.travis文件。 在MacOS / Linux上使用docker-compose进行设置和测试 构建并执行到开发容器中 确保您拥有最新版本的 码头工人 码头工人组成 git clone https://github.com/kbase/execution_engine2.git cd execution_engine2 docker build . -t execution_engine2:test docker-compose up -d docker-compose exec ee2_with_ssh bash # (This directo 立即下载

相关推荐

第 12 章 执行引擎

第 12 章 执行引擎 1、执行引擎概述 执行引擎位置 执行引擎属于JVM的下层,里面包括:解释器、即时编译器、垃圾回收器 1.1、执行引擎概述 执行引擎概述 执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。 JV

Oneby的博客 1396

科普文:一文搞懂jvm原理(三)执行引擎

前面我们介绍了jvm,jvm主要包括两个子系统和两个组件: Class loader(类装载器) 子系统,Execution engine(执行引擎) 子系统;Runtime data area (运行时数据区域)组件, Native interface(本地接口)组件。这里我们主要讲解Execution engine(执行引擎),讲到这个就和jvm优化相关。图一:jvm的运行时区、执行引擎、本地方法接口和库图二:这个是前面文中多次出现的jvm详细图,

为无为,事无事,味无味。 1658

【JVM】执行引擎 Execution Engine

执行引擎是Java虚拟机(JVM)的核心组成部分之一,它的主要任务是负责装载字节码到其内部。由于字节码并不能够直接运行在操作系统之上,因此需要将字节码指令解释/编译为对应平台的本地机器指令,简单来说JVM的执行引擎充当了高级语言翻译为机器语言的译者。

weixin_40381772的博客 2772

JVM篇-执行引擎Execution Engine

执行引擎概述 执行引擎是Java虚拟机核心的组成的部分之一 虚拟机的执行引擎是有软件自行实现的,不受物理条件制约的定制指令集与执行引擎结构体系,能执行不被硬件支持的指令集格式。 JVM主要任务是装在字节码到其内部 执行引擎的主要任务就是:将字节码指令解释/编译(后端编译。生成字节码的编译成为前端编译)为本地机器指令 JVM中的执行引擎重放了将高级语言翻译为机器语言的翻译者 Java代码编译执行过程 大部分的程序代码转换为物理机的目标代码或者虚拟机能执行的指令集之前,都需要执行上述步骤。 什么

shuyoujing的博客 1155

执行引擎Execution Engine)- 执行引擎概述

执行引擎概述 执行引擎是Java虚拟机核心组件之一 “虚拟机”相当于一个“物理机”的概念,这两种机器都有代码执行的能力,其区别是物理机的执行引擎是建立在处理器、缓存、指令集和操作系统上的,而虚拟机的执行引擎是由软件自行实现的,因此可以不受物理条件的制约的指定指令集与执行引擎的结构体系,能够执行那些不被支持的指令格式 JVM的主要任务是负责装载字节码到其内部,但字节码并不能直接运行在操作系统上,因此字节码指令非等价于本地机器的指令,内部包含的仅仅只是一些能够被JVM所识别的字节码指令、符号表,以及一些其

大后生大大大的博客 1046

执行引擎Execution Engine

1、执行引擎概述 执行引擎是Java虚拟机的核心组成部分之一 虚拟机是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。 JVM的主要任务是==负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只是一些能够被

cl19950327的博客 1839

执行引擎(Execution Engine)

执行引擎(Execution Engine)的作用:将字节码指令解释/编译为对应平台的本地机器指令,简而言之,将高级语言转译成机器语言能被计算机识别 执行引擎的简单工作工程 通过pc寄存器确定一条执行指令 执行完一条执行后,pc寄存器指向下一条指令地址 执行构成中可以通过存储在局部变量表的对象引用定位到java堆中的对象实例信息.通过对象头中的元数据指针定位到目标对象的类型信息 JAVA后端编译执行的过程 名词解释 说明 解释器(Interpreter) java虚拟机对字节码采用逐行

Arnold的博客 632

JVM执行引擎Execution Engine)

上文:JVM-直接内存(Direct Memory)历史:在了解执行引擎前先了解一下计算机的语言的发展历史。如下:机器码?机器码是通过各种二进制表示的一串可以被计算机直接运行的指令...

逍遥壮士 762

执行引擎Execution Engine)总结

目录 一、执行引擎概述 二、执行引擎的工作流程 三、Java代码编译执行过程 四、机器码、指令、汇编语言、高级语言、字节码概述 五、解释器 六、JIT编译器 七、总结 一、执行引擎概述 执行引擎属于JVM的下层,里面包括:解释器、及时编译器、垃圾回收器。如下图: JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只是一些能够被JVM所识别的字节码指令、符号表,以及其他辅助信息。 那么,如果想要让

weixiaohuai的博客 764

JVM_08 执行引擎Execution Engine

执行引擎概述 执行引擎是Java虚拟机的核心组成部分之一 虚拟机是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。 JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只是一些能够被JVM锁识别的字节码

lucylala007的博客 400

【JVM学习-4】执行引擎Execution Engine

文章目录1. 执行引擎概述2. Java代码编译执行过程2.1 什么是解释器( Interpreter),什么是JIT编译器?2.2 为什么说Java是半编译半解释型语言?3. 机器码、指令、汇编语言3.1 机器码3.2 指令3.2.1 指令集3.3 汇编语言3.4 高级语言3.4.1 C、C++源程序执行过程3.4.2 字节码4. 解释器4.1 解析器概述4.2 解析器现状5. JIT编译器5.1 解释器与JIT编译器共存5.1.1 java代码执行分类:5.1.2 HotSpot VM 为何解释器与

计忆芳华的博客 628

JVM_05 执行引擎Execution Engine

总结写在最前面: ①. 执行引擎概述 1>. 执行引擎概述 ①. 执行引擎是Java虚拟机的核心组成部分之一 ②. JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只是一些能够被JVM锁识别的字节码指令、符号表和其他辅助信息 ③. 那么,如果想让一个Java程序运行起来、执行引擎的任务就是将字节码指令解释/编译为对应平台上的本地机器指令才可以。简单来说,JVM中的执行引擎充当了将高级语言翻译为机器.

m0_46623333的博客 201

JVM-第10章-执行引擎Execution Engine

JVM—执行引擎Execution Engine) 1. 概述 执行引擎是Java虚拟机核心的组成部分之一。 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。 JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机

How many ten years in the life time? 268

JVM学习笔记之-执行引擎(Execution Engine)

执行引擎概述 执行引擎概述 执行引擎是Java虚拟机核心的组成部分之一。 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。 JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只是一些能够被

fushuaiCSDN的博客 371

JVM_08 执行引擎_1(Execution Engine

文章目录执行引擎概述Java代码编译执行过程机器码、指令、汇编语言机器码指令指令集汇编语言高级语言字节码C、C++源程序执行过程解释器现状 执行引擎概述 执行引擎是Java虚拟机的核心组成部分之一 虚拟机是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。 JVM的主要任务是负责装载字

959 626

执行引擎(Query Execution Engine),返回结果

OK,存储引擎分析完了,它是我们存储数据的形式,继续第二个问题,是谁使用执行计划去操作存储引擎呢? 这就是我们的执行引擎,它利用存储引擎提供的相应的API 来完成操作。 为什么我们修改了表的存储引擎,操作方式不需要做任何改变?因为不同功能的存储引擎实现的API 是相同的。 最后把数据返回给客户端,即使没有结果也要返回。 ...

Leon_Jinhai_Sun的博客 322
上一篇: 运行时数据区 Runtime Data Area
下一篇: idea 2021.X 版本 pom.xml 自动保存修改设置
Java_Male
博客等级 码龄9年 0粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值