不仅要了解 Java 为什么跨平台工作,还要了解它如何实现平台独立性。那么,为什么 Java 是一种平台独立的语言呢?你可以把这个问题分成两部分:

1.为什么 Sun Microsystems 使 Java 平台独立?

2.Java的平台独立性是如何实现的?

Java 的跨平台起源

一、为什么Java是跨平台的?让我们首先深入了解该语言的历史。

Java 的发明者 Sun Microsystems 是 1990 年代计算机工作站市场上的热门供应商。随着 Sun 的成长,它收购了许多竞争对手,包括 Trancept Systems、Praxsys Technologies 和 Silicon Graphics Cray Business Systems Division。 Sun 本身在 2009 年被甲骨文收购,但那是另一回事了。随着对不同计算机体系结构的不断收购,Sun 发现自己支持多种编程语言,这些语言在不同操作系统上的工作方式不同。

为了解决这种令人不快的情况,Sun 投资开发了一种适用于各种操作系统和计算机体系结构的单一编程语言,这被称为绿色项目。从 Green Project 中诞生了 Oak 开发 API,随后演变为独立于平台的 Java 编程语言。

随着绿色项目的发展,Java 编程语言的发展方向超越了平台独立性,发展为互连电视机顶盒的愿景,并最终成为对通过万维网链接的联网计算机的跨平台支持。

但不管绿色项目如何发展,与管理他们自己不同的内部架构相关的问题促使 Sun 创建独立于平台的 Java 编程语言。

Java的平台独立性是如何实现的?

大多数编程语言,如 C++ 或 Visual Basic,直接编译成可执行文件或二进制文件,这些文件只能在特定的操作系统或硬件架构上运行。这就是为什么这么多在 Mac 上运行的程序在 PC 上不兼容的原因。

Java 源代码不直接编译为本机机器代码。 取而代之的是,Java 编译生成字节码,其中包含一组高级机器指令,这些指令足够通用而不是特定于平台的。 要运行此字节码,计算机必须安装 Java 虚拟机 (JVM)。 当 Java 程序运行时,JVM 会解释字节码,然后生成可供 CPU 使用的本机机器码。

值得注意的是,JVM 本身并不是一种跨平台技术。

每个架构和操作系统都必须有一个专门设计和构建的 JVM,以便独立于平台的 Java 程序运行。 但是,由于对 JVM 的需求被普遍视为优先事项,因此每个现代操作系统都提供了一个。 这就是为什么 Java 的宣传标语一直是:“一次编写,随处运行”。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部