Java基础篇:什么是平台无关性

什么是平台无关性:

平台无关性就是一种语言在计算机上的运行不受平台的约束,一次编译,到处执行 。 

平台无关有两种:

源代码级和目标代码级。而C和C++具有一定程度的源代码级平台无关,表明用C或C++写的应用程序不用修改只需重新编译就可以在不同平台上运行。

而Java编译出来的是字节码,去到哪个平台都能用,只要有那个平台的JDK就可以运行,所以,Java程序的最大优势就是平台无关。

Java如何做到平台无关性:

在《JAVA核心技术卷一:基础知识》中描述到:“JAVA并不只是一种语言。在此之前出现的那么多种语言也没用能够引起那么大的轰动。Java是一个完整得平台,有一个庞大的库,其中包含了许多可重用的代码和一个提供诸如安全性、跨操作系统得可以执行以及自动垃圾收集等服务的执行环境。”

按传统的观点,一般的编译要经过词法分析、语法分析、中间代码、代码优化、目标代码这五个阶段。

Java语言提供了一种全新的处理方式,关键技术有两点:

  • 一: Java在服务器端进行编译,而编译的过程只是将Java的源代码编译为与平台无关的中间代码,即字节码。
  • 二: 在客户端安装了Java虚拟机(JVM),以解释方式执行中间代码。

 

Java基础篇:什么是平台无关性_第1张图片

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。 

 

 

你可能感兴趣的:(Java,Java,平台无关性)