JIT:Just In Time
AOT:Ahead of Time
含义:
目前,程序主要有两种运行方式:静态编译与动态解释。
静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为AOT (Ahead of time compiler)即 “提前编译”;如C、C++。

判断标准是:程序执行前是否需要编译。

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

程序运行的方式和具体的语言没有强制关系,比如Python,既可以JIT,也可以AOT。

Dart中的JIT和AOT:

  1. Dart在开发过程中使用JIT,因此每次改都不需要再编译成字节码。节省了大量时间。
  2. 在部署中使用AOT生成高效的ARM代码以保证高效的性能。

Dart 是少数同时支持 JIT(Just In Time,即时编译)和 AOT(Ahead of Time,运行前编译)的语言之一。

JIT 在运行时即时编译,在开发周期中使用,可以动态下发和执行代码,开发测试效率高,但运行速度和执行性能则会因为运行时即时编译受到影响。

总结来讲,在开发期使用 JIT 编译,可以缩短产品的开发周期。Flutter 最受欢迎的功能之一热重载,正是基于此特 性。

而在发布期使用 AOT,就不需要像 React Native 那样在跨平台 JavaScript 代码和原生 Android、iOS 代码之间建立低效的方法调用映射关系。

所以说,Dart 具有运行速 度快、执行性能好的特点。

最新文章

  1. SQL Server中使用PIVOT行转列
  2. Linux下FTP安装与配置
  3. Hadoop的Map侧join
  4. 关于Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的问题
  5. 毕向东JAVA视频讲解笔记(前三课)
  6. 怎么对HTML 5的特性做检测?
  7. springMVC从上传的Excel文件中读取数据
  8. Spire.XLS
  9. 日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的区别
  10. Linux下搭建Nginx+MySQL+PHP
  11. mysql中的一些操作语句,留存
  12. 【netlimiter】的使用
  13. 人体姿态的相似性评价基于OpenCV实现最近邻分类KNN K-Nearest Neighbors
  14. Spring系列之AOP的原理及手动实现
  15. 在Arcmap中加载互联网地图资源的4种方法
  16. Python 'xxx' codec can't decode byte xxx常见编码错
  17. 浅谈HTTP中GET、POST用法以及它们的区别
  18. January 14th, 2018 Week 02nd Sunday
  19. iOS 阅读唐巧博客心得
  20. java理论学时第七节。课后作业。

热门文章

  1. python中的变量引用小结
  2. www、数组的equals、接口和抽象类、装箱拆箱、final赋值
  3. 深度优先搜索(DFS)和广度优先搜索(BFS)求解迷宫问题
  4. C/C++预处理指令#include,#define,#undef,#if,#ifdef,#ifndef,#elif,#endif,#error......
  5. 转:lightGBM的黑科技--plot函数
  6. python-django-fastdfs+Nginx的安装和配置_20191122
  7. 关于RFC
  8. javaweb_forQuery
  9. Redis Client 官方下载地址
  10. SHELL用法四(for语句)