JIT和AOT

目前,程序主要有两种运行方式:静态编译与动态解释。

静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为AOT (Ahead of time)即 “提前编译”;

而解释执行的则是一句一句边翻译边运行,通常将这种类型称为JIT(Just-in-time)即“即时编译”。

AOT程序的典型代表是用C/C++开发的应用,它们必须在执行前编译成机器码,而JIT的代表则非常多,如JavaScript、python等。

事实上,所有脚本语言都支持JIT模式。但需要注意的是JIT和AOT指的是程序运行方式,和编程语言并非强关联的,有些语言既可以以JIT方式运行也可以以AOT方式运行,如Java、Python,它们可以在第一次执行时编译成中间字节码、然后在之后执行时可以直接执行字节码。

也许有人会说,中间字节码并非机器码,在程序执行时仍然需要动态将字节码转为机器码,是的,这没有错,不过通常我们区分是否为AOT的标准就是看代码在执行之前是否需要编译,只要需要编译,无论其编译产物是字节码还是机器码,都属于AOT。

在此,大家不必纠结于概念,概念就是为了传达精神而发明的,只要大家能够理解其原理即可,得其神忘其形。

原文链接:https://blog.csdn.net/qq_33314190/article/details/89953859

【JAVA】JIT和AOT相关推荐

  1. java jit aot_对比JIT和AOT,各自有什么优点与缺点?

    JIT:吞吐量高,有运行时性能加成,可以跑得更快,并可以做到动态生成代码等,但是相对启动速度较慢,并需要一定时间和调用频率才能触发 JIT 的分层机制 AOT:内存占用低,启动速度快,可以无需 run ...

  2. Java在云原生的破局利器——AOT(JIT与AOT)

    导读 JIT(Just-in-Time,实时编译)一直是Java语言的灵魂特性之一,与之相对的AOT(Ahead-of-Time,预编译)方式,似乎长久以来和Java语言都没有什么太大的关系.但是近年 ...

  3. java jit aot_JIT和AOT编译详解

    JIT和AOT编译介绍 JIT - Just-In-Time             实时编译,即时编译 通常所说的JIT的优势是Profile-Based Optimization,也就是边跑边优化 ...

  4. java aot_Java 9 AOT初探

    Java 9引入了 aot编译方式 ,能够将class文件直接编译成可执行二进制文件.目前Java 9的 early access版本 已经提供了编译工具,让我们来看看它的功能吧. 注意:按照JEP ...

  5. JIT VS AOT

    一.AOT,JIT是什么 JIT,即Just-in-time,动态(即时)编译,边运行边编译:AOT,Ahead Of Time,指运行前编译,是两种程序的编译方式 理解 jit.aot 程序主要有两 ...

  6. Java JIT在运行JDK代码时是否作弊?

    本文翻译自:Does Java JIT cheat when running JDK code? I was benchmarking some code, and I could not get i ...

  7. Angular 2 JIT vs AOT

    转载于:https://segmentfault.com/a/1190000008739157 在 Angular 应用程序中,包含了我们通过 Angular 提供的 API 实现的自定义指令.这些自 ...

  8. Java - JIT即时编译器

    Java - JIT即时编译器 前言 一. JVM编译器 1.1 Client Compiler 1.2 Server Compiler 1.2.1 C2 Compiler 1.2.2 Graal C ...

  9. angular jit and aot

    为什么需要编译 Angular应用中包含的组件.HTML模板(比如:@Directive.@Component.@NgModule.@Pipe)很多都是JS VM无法解析的,所以在浏览器渲染应用之前, ...

最新文章

  1. 将用户输入内容中的尖括号、引号等进行转义
  2. 183. Customers Who Never Order
  3. 1810: Huffuman树(vector模拟)
  4. 信息竞赛进阶指南--搜索相关(模板)
  5. 写出TREE-PREDECESSOR的伪代码(算法导论第三版12.2-3)
  6. artdialog子弹窗关闭父弹窗
  7. MySQL之SQL优化详解(一)
  8. QT编写的数据转曲线工具
  9. 【HTML CSS JS 蝴蝶飞舞特效 绝美(附完整代码)】
  10. STM32F407软件模拟IIC驱动RX8025程序加原理图
  11. sumo学习——sumo的路网介绍
  12. revit常用机电工具,如何实现管线快速翻弯
  13. mailgun php 邮件发送 实例
  14. 《科学之路》读书笔记
  15. 百度java面试题(一)2020整理
  16. CALL和RET指令---汇编学习笔记
  17. 服务器启动项目抛错 没有到主机的路由
  18. 中国开源人访谈系列之:清风博主
  19. Python头部信息的设置
  20. 智能控制导论 # 模糊控制 1 理论及实例

热门文章

  1. n皇后问题的两种递归方法C语言实现
  2. 40个工程造价的难点问题
  3. 2019-7-23 [HTML_CSS] 基本 行内/内部/外部格式 优先级 选择器 字体演 颜色 粗细大小 字体对齐
  4. c语言输入10个整数求平均数,C语言输入任意个数求平均数
  5. 光通信器件与系统(西交大朱京平笔记) -5-8 EDFA的主要应用
  6. Hangouts Meet的高级视频会议功能G Suite免费用
  7. MySQL笔记:第05章_存储引擎
  8. PHP-农历+节气+节日等类库
  9. QT Creator格式对齐快捷键
  10. ---Warkey 界面修改手记