[转帖]Runtime, Engine, VM 的区别是什么?
生活随笔
收集整理的这篇文章主要介绍了
[转帖]Runtime, Engine, VM 的区别是什么?
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
这就是个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 的区别是什么?的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【题解】错排问题
- 下一篇: 生产上第一使用线程池后的总结与反思