gpt4 book ai didi

java - 术语 'Platform Independent' 在编程语言上下文中的相关性

转载 作者:行者123 更新时间:2023-12-02 11:43:35 25 4
gpt4 key购买 nike

也许我在这里问了一个非常明显且愚蠢的问题,但我在 Google 上找不到任何信息,所以我开始:

为什么人们如此热衷于 Java 是平台无关的,而其他一些语言却不是。我的意思是,就我的理解而言,总的差异只是编译步骤的存在/不存在,不是吗?

在 Java 中,当你在不同的平台上运行字节码时,不必再次编译代码,而在 C 或 C++ 中,你必须再次编译代码,以便在不同的平台上运行它。平台(我这里错了吗?)。

因此,平台依赖仅意味着多了一个额外的编译步骤。这太多了吗?我在编程方面没有太多经验,所以也许我在这里遗漏了一些明显的实用点。

最佳答案

平台独立性有不同的等级:

  • 二进制平台独立性:相同的编译可执行文件可以在不同平台上运行,无需任何额外步骤(例如 Java)。
  • 源代码平台独立性:可以为不同平台编译相同的源代码(例如,对于设计良好的 C++ 程序来说是可能的)。
  • 多平台代码:源代码包含多个版本的平台相关代码元素,可以在编译前通过设置相关开关来选择这些版本(典型的是 UNIX 风格的 C 程序)。
  • 平台相关代码:源代码仅在一个特定平台上编译为功能可执行文件,例如Windows 32 位。针对不同的平台意味着重写大量代码。

所以,问题是你想覆盖哪些平台,以及你想在各种平台上投入多少努力。

对于客户端,您有 Windows 32 和 64 位、Macintosh、Linux 变体、Android 和 iOS,仅举最流行的几种。遗憾的是,由于智能手机和平板电脑的用户交互风格不同,因此很难使用相同的源代码覆盖所有这些平台。 Java 开箱即用,仅涵盖经典桌面。 HTML 5 和 Javascript 有望覆盖整个客户端范围。

在服务器端,主要有Linux版本和Windows 64位,这里Java的平台独立性确实很震撼。这就是为什么许多 Web 和应用程序服务器都是基于 Java 的原因。但其他技术也可以在这里做同样的事情。

关于java - 术语 'Platform Independent' 在编程语言上下文中的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48369564/

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