跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

为什么以及如何独立于Java平台?


HACK1949

推荐的帖子

但是Java中有一个功能使它与C++等功能区分开来。你问那是什么?
这是因为Java本质上是独立于平台的。为什么 Java 平台是独立的?

我们将在本文中回答您的所有whatsapp,方法和原因,因此请阅读到最后以清除这些疑虑的阴霾。让我们开始吧!

什么是平台?

现在,您可能遇到的第一个问题是,平台到底是什么?用最简单的话来说,平台是程序运行的环境。此环境由软件、硬件和操作系统组成。

运行程序的软件、硬件和操作系统的组合环境称为平台。

什么是平台独立?

不同的计算机程序在不同的环境中运行不同。例如,Windows 应用程序或软件无法在 Mac 操作系统上运行。

尽管有些应用程序可以在多个操作系统(如MS PowerPoint)上运行,但它们需要适合每个系统的不同编程。

但是由于Java是独立于平台的,这个问题就解决了。独立于平台意味着软件可以在具有相同编程的各种计算机环境中运行。

因此,您必须为每个平台更改代码。此功能有可能使编码人员的劳动减半。

为什么 Java 平台是独立的?

Java平台之所以独立,是因为用Java编写的程序可以在各种平台上运行,而无需为每个平台重新编写它们。Java的这个特性基于口号Write Once, Run Anywhere [WORA]。以下是使 Java 平台独立的整个过程的细分。

Java 平台如何独立?

在这里,我们将讨论使Java平台独立的过程。要理解这一点,我们需要首先了解依赖于平台和独立于平台的编程软件的编译过程。

每当我们编写程序时,它都会包含计算机无法理解的单词,短语,名称等。

我们编写代码的语言被称为源代码,人类可以理解,但计算机不能理解。该代码需要转换为计算机可以执行和理解的机器语言代码。

这种从源代码到机器语言代码的转换是在编译器的帮助下完成的,转换过程称为编译。它也可以在在线Java编译器的帮助下完成。此机器代码对于不同的平台是不同的。

依赖于平台的编译

首先,代码在依赖于平台的软件中转换为机器语言代码,例如,在Windows中C++。此处生成的文件将是.exe文件。此本机代码仅在 Windows 操作系统中执行,并且每个操作系统都不同。

因此,以依赖于平台的编程语言生成的文件将仅在生成它的操作系统上运行。这意味着在Windows中生成的文件将无法在mac OS或Linux等上运行。

独立于平台的编译

在这里,我们将分解Java(一个独立于平台的软件)中的编译和执行过程。
Java不会将程序编译为本机代码。相反,它有一个名为Javac的特殊编译器。您也可以使用在线Java编译器而不是Javac。源代码的编译会创建一种称为字节码的不同格式。此代码另存为.class文件。

但是这个字节码在每个平台上都是相同的,因此不能直接执行。它需要翻译才能被执行。这个转换器是JVM [Java虚拟机]。JVM是一个Java转换器,它输入字节码并将其转换为输出。在JVM的帮助下,代码最终被转换为特定于本机的代码,可以根据您正在运行的操作系统执行。

综上所述,该过程按以下顺序进行:

源代码 – 字节码 – JVM [对于不同的操作系统不同] – 输出 [对所有平台都一样]
我们可以说 Java 平台之所以独立,主要是因为 JVM。但是JVM本身是独立于平台的吗?

让我们深入了解Java平台的完全独立性

Java 是否完全独立于平台?

我们将不得不对此说不。虽然字节码与平台无关,但 JVM 完全依赖于平台,因为它将字节码转换为可由系统执行的本机代码。
JVM根据它正在使用的平台翻译代码。例如,由 JVM 在 Windows 操作系统上翻译的代码不能在 macOS 中执行,反之亦然。尽管如此,输出保持不变。

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...