使用Java怎么实现跨平台

介绍

使用Java怎么实现跨平台?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强>什么是平台无关性

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

也就是说,用Java创建的可以执行二进制程序,能够不加改变的运行于多个平台,Java减少了开发和部署的多个平台的成本和时间。

<>强平台无关性的实现

其中扮演者重要的角色有Java语言规范,类文件,Java虚拟机(JVN)等。

在计算机世界中,计算机只认识0和1。所以,真正被执行的其实是由0和1组成的二进制文件。

日常开发使用的C、c++、Java、python都属于是高级语言,而非二进制语言,所以,想让计算机认识我们写出来的Java代码,那就需要

把他翻译成由0和1组成的二进制文件。这个过程就叫编译。负责这一个过程的处理的工具叫做编译器。

想把Java文件,编译成二进制文件文件,需要经过两步编译,前端编译和后端编译。

使用Java怎么实现跨平台

前端编译主要是指与源语言有关但与目标机无关的部分. Java中,我们知道的javac的编译就是前端编译。除了这种以外,我们使用的很多eclipse IDE如,想法等,都是内置了前端编译器,

主要功能就是. Java文件转换为。类文件。

后端编译主要是将中间代码再翻译成机器语言. Java中,这一步骤就是后端编译(jvm来执行)。

使用Java怎么实现跨平台

<强> Java虚拟机

之所以跨平台是由jvm来完成的,jvm会根据不用的操作系统和硬件设备,提供不同jvm。对于不同的操作系统jvm对应的质指令是不同的类文件。

比如同样执行a + b,一个操作系统对应的二进制指令可能是10001000,而b操作系统对应的指令可能是11101110。那么,想要做到跨平台,最重要的就是可以根据对应的硬件和操作系统生成对应的二进制指令。

使用Java怎么实现跨平台

有了Java虚拟机,想要执行a + b操作,一个操作系统上面的虚拟机就会把指令翻译成10001000,b操作系统上面的虚拟机就会把指令翻译成11101110。

使用Java怎么实现跨平台

所以,Java之所以可以做到跨平台,是因为Java虚拟机充当了桥梁。他扮演了运行Java时程序与其下的硬件和操作系统之间的缓冲角色。

<强>类字节码

各种不同的平台的虚拟机都使用统一的程序存储格式——字节码(字节码)是构成平台无关性的另一个基石. Java虚拟机只与由字节码组成的类文件进行交互。我们说Java语言可以写alt="使用Java怎么实现跨平台">

对于Java的平台无关性的支持是分布在整个Java体系结构中的。

其中扮演着重要角色的有Java语言规范,类文件,Java虚拟机等。

<强> Java语言规范

通过规定Java语言中基本数据类型的取值范围和行为

<强>类文件

所有Java文件要编译成统一的类文件

<强> Java虚拟机

通过Java虚拟机将类文件转成对应平台的二进制文件等Java的平台无关性是建立在Java虚拟机的平台有关性基础之上的,是因为Java虚拟机屏蔽了底层操作系统和硬件的差异。

关于使用Java怎么实现跨平台问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

使用Java怎么实现跨平台