java和JavaScript:编译与解释

像 Java 这样的编译语言会检查整个项目的代码,同时优化并将涂鸦转换为以后可由 Java 虚拟机 (JVM) 读取的字节码。它会捕获大量的语法错误,并在编译时提醒编码人员注意这一点。

从那时起,在 Web 应用程序的情况下,编码器使用压缩的字节码包进行操作,如 Java Archive (JAR) 或 Web Archive (WAR)。然后,这个包可以由虚拟机或 Web 容器执行,打开它,将它加载到内存中,找到一个入口点,并将它带到某人的桌面或服务器上。这不会阻止您犯编程逻辑错误,但至少您有机会立即纠正所有语法错误。

知识产权的安全性也是许多编译语言解决的问题。Java 编译并不能从本质上保护您的代码免受反编译,但有一些方法可以保护您在 Internet 上各种资源中概述的输出。

JavaScript 等解释性语言在运行时读取您的源代码并在运行时对其进行解释。口译员变得如此快速和强大,以至于口译动作对性能的影响几乎无法察觉。

一方面,它提供了许多“创造性”解决方案和对现有代码库的动态操作。另一方面,它促进了一种快捷方式、“胶带”、聪明的代码和晦涩的解决方案的文化。用 JavaScript 构建和维护大型项目需要大量的组织文化和纪律。

至于知识产权的安全性,真的没有什么好办法可以让你的代码既可执行又不可访问。有“minifiers”、“uglyfiers”和其他混淆包,但它们都不会扰乱你的代码,最终无法阅读。原因是解释器需要能够在执行时读取您的代码。混淆包可以去掉所有的空格、回车和制表符,一般让它看起来像一大块乱七八糟的东西;但归根结底,它必须保留很多原创元素。

java和JavaScript:编译与解释

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注