Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 运行时环境究竟是如何工作的?_Javascript_.net_Frameworks_Runtime - Fatal编程技术网

Javascript 运行时环境究竟是如何工作的?

Javascript 运行时环境究竟是如何工作的?,javascript,.net,frameworks,runtime,Javascript,.net,Frameworks,Runtime,我很难理解这整件事。我知道运行时环境本质上是一个虚拟机,它位于操作系统之上,允许应用程序完全跨平台运行,但我不知道它如何做到这一点。不同的操作系统不是做得不同吗?一个运行时环境如何能在所有操作系统上运行?问题是,在幕后还有很多你从未听说过的事情。运行时环境分为多个级别构建,每个级别都越来越接近您作为开发人员所看到的内容。 他们首先检查并重写每个操作系统的最低级别连接器,以指向机器上的不同位置。然后,当它们向上移动时,它越来越接近于相同,直到您拥有完整的运行时环境,这在每种类型的计算机上看起来(几

我很难理解这整件事。我知道运行时环境本质上是一个虚拟机,它位于操作系统之上,允许应用程序完全跨平台运行,但我不知道它如何做到这一点。不同的操作系统不是做得不同吗?一个运行时环境如何能在所有操作系统上运行?

问题是,在幕后还有很多你从未听说过的事情。运行时环境分为多个级别构建,每个级别都越来越接近您作为开发人员所看到的内容。
他们首先检查并重写每个操作系统的最低级别连接器,以指向机器上的不同位置。然后,当它们向上移动时,它越来越接近于相同,直到您拥有完整的运行时环境,这在每种类型的计算机上看起来(几乎)相同。我这么说几乎是因为翻译并不总是完美的。如果您运行的程序具有内置于Java中的GUI,您将看到这一点。Java使用平台默认按钮,因此在Mac上,它们是Mac风格的按钮,在Windows上,它们是Windows风格的按钮,即使它是完全相同的程序。

我明白了。谢谢你的解释。我想最好把它看作抽象层。确切地说,运行时环境被抽象到程序员不必关心每个操作系统的复杂程度。如果这回答了你的问题,你介意接受吗?