这就是个WiFi和WLAN关系的问题嘛。
Runtime是指用于支持程序运行时的组件,它可以是个Engine和/或VM。
VM是一种系统抽象,它提供代码执行所需的API环境。Engine是一种处理抽象,它负责将代码变为底层可执行代码。
一个运行时,可以是VM和Engine中的一种,也可以同时是两者。当然也可以两者都不是。

以题主的例子而言,V8是JS的Engine,但同时它也提供了环境,所以它也是VM。
JVM是Java的VM,但它也负责代码的转换,所以它也是Engine。
之所以习惯上JS的称Engine,是因为JS最初并没有明确的VM概念,也就是说它并没有明确地定义一套环境。而Java的称VM,也是因为早期JVM要强调它提供了环境,而不光光用来解释代码。

至于其他的还有一些例子:
VC++ Runtime,它提供了API环境,但它并不抽象系统,也不翻译代码,所以它是另一种Runtime。类似的还有VB Runtime和MFC。
.Net Framework,它提供了API,抽象了系统,翻译代码,之所以叫它Framework大概是为了显得大气。

作者:沈万马
链接:https://www.zhihu.com/question/34634496/answer/59537636
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://www.cnblogs.com/jinanxiaolaohu/p/10648736.html

[转帖]Runtime, Engine, VM 的区别是什么?相关推荐

  1. labview runtime engine 系列下载

    本人有labview runtime engine系列的软件包,如下图所示: labview runtime engine 5.1 labview runtime engine 5.1.1 labvi ...

  2. 高级语言虚拟机(HLL VM)的设计与实现

    为什么80%的码农都做不了架构师?>>>    关注各种高级语言虚拟机(high-level language virtual machine,HLL VM)的设计与实现,泛化至各种 ...

  3. 关注各种高级语言虚拟机(high-level language virtual machine,HLL VM)的设计与实现,泛化至各种高级语言的运行时的设计与实现,也会涉及动态编译、GC、动态语言的编

    关注各种高级语言虚拟机(high-level language virtual machine,HLL VM)的设计与实现,泛化至各种高级语言的运行时的设计与实现,也会涉及动态编译.GC.动态语言的编 ...

  4. App Engine中的Google Services身份验证,第1部分

    这篇文章将说明如何构建一个简单的Google App Engine(GAE)Java应用程序,该应用程序可针对Google进行身份验证,并利用Google的OAuth授权访问Google的API服务( ...

  5. java runtime类 heap_Java 进阶(一) JVM运行时内存模型

    1.JVM运行时数据区域的划分 a.程序计数器(Program Counter Register) 一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器.每个线程拥有独立的一个计数器,如果 ...

  6. [iOS] ios的runtime

    1. 什么是runtime 运行时刻是指一个程序在运行(或者在被执行)的状态.也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻.在一些编程语言中,把某些可以重用的程序或者实例 ...

  7. GEE (Google Earth Engine)最基础代码学习笔记三

    GEE (Google Earth Engine)代码学习笔记三 本次学习核心为:将JavaScript objects and primitives放入Earth Engine 容器传到服务器,并处 ...

  8. html5上传steam,Steam 上的 HTML5 Javascript Game Engine

    不支持简体中文 本产品尚未对您目前所在的地区语言提供支持.在购买请先行确认目前所支持的语言. 购买 HTML5 Javascript Game Engine 关于这款软件 WEB GL ENGINE ...

  9. 基于google earth engine(GEE)下载研究区域影像

    基于google earth engine(GEE)下载研究区域影像 当研究需要Landsat数据时,我们可以通过USGS官网或者地理空间数据云平台下载.由于地理空间数据云目前无法下载到较新的数据,可 ...

最新文章

  1. LOJ6435 PKUSC2018 星际穿越
  2. MVC中一个表单实现多个提交按钮(一个action搞定添删改)
  3. php-cgi和php-fpm,Windows环境下解决Nginx+php并发访问阻塞问题。
  4. 以太坊---「地址、密码、私钥、助记词、Keystore 」那些事
  5. BufferedReader和BufferedWriter读写文件
  6. 博为峰JavaEE技术文章 —— Hibernate域模型(2)
  7. 【HDU - 4348】To the moon(主席树,区间更新)
  8. word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法
  9. 《深入理解计算机系统》(2) 信息的表示和处理
  10. 自然语言处理 —— 2.5 学习词嵌入
  11. 采访拍摄镜头技巧_采访开放文化公司的6个技巧
  12. C 设计语言编译生成的是中间语言IL,一、源代码-面向CLR的编译器-托管模块-(元数据IL代码)...
  13. npm 与yarn CLI 命令比较
  14. Apache Calcite官方文档中文版-概览-1.背景
  15. Exception in thread main java.lang.NoClassDefFoundError: scala/Product$class
  16. 海康VisionMaster-脚本模块
  17. ResNet训练单通道图像分类网络(Pytorch)
  18. 2021年高处安装、维护、拆除复审考试及高处安装、维护、拆除模拟考试题
  19. [电路笔记]三相电路
  20. 使用TortoiseGit 进行cherry pick 操作

热门文章

  1. esp8266 wifi模组入网案例
  2. [YTU]_1046 ( 输入10个数字,然后逆序输出)
  3. 利用非递归方法实现二叉树的中序遍历
  4. oracle rman 架构图,图解Oracle RMAN备份入门
  5. 整数划分问题【递归以及递推求解方式】
  6. matlab p-tite分割图像,P'tite fourmi
  7. js中console在一行内打印字符串和对象
  8. 设置element表格透明样式
  9. apache 服务器概述--安装(一)
  10. macOS上搭建RabbitMQ+MQTT服务器