gpt4 book ai didi

java - 为什么Java代码需要编译而JavaScript代码不需要

转载 作者:太空狗 更新时间:2023-10-29 22:39:04 25 4
gpt4 key购买 nike

为什么用 Java 编写的代码需要编译成由 JVM 解释的字节码,而用 JavaScript 等语言编写的代码不需要编译,可以直接在浏览器中运行?

有没有简单的方法来理解这个?

这两种语言的书写方式有什么根本区别,可能有助于理解这种行为?

我不是 CS 学生,所以请原谅这个问题的幼稚。

最佳答案

从历史上看,JavaScript 是一种解释型语言。这意味着解释器接受源代码并一步执行所有代码。这里的优点是简单和灵活,但解释器非常慢。编译器将高级语言转换为本地处理器或 VM(在本例中为 Java VM)可以直接执行的低级语言。这要快得多。

现代浏览器中的 JavaScript 现在是动态编译的。所以当脚本被加载时,JavaScript 引擎做的第一件事就是将它编译成字节码然后执行。从最终用户的 Angular 来看,缺少整个编译步骤的原因是浏览器开发人员(谢天谢地)维持了不显式编译 JavaScript 的要求。

Java 从一开始就是一门总是有显式编译步骤的语言。但在许多情况下,情况已不再如此。像 IntelliJ 或 Eclipse 这样的 IDE 可以即时编译 Java,并且在许多情况下可以删除显式编译步骤。

关于java - 为什么Java代码需要编译而JavaScript代码不需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11853423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com