快捷搜索: 王者荣耀 脱发

解答:Java是如何实现跨平台运行的?

Java有一个其他语言都没有特点,那就是跨平台。跨平台是什么意思呢?我们首先来看看平台是指什么。平台就是指我们计算机的操作系统,例如:Windows、Linux、Mac等操作系统。

跨平台的意思就是Java程序,在一次编译后,在这些平台上都可以运行。有其他编程语言基础的朋友应该知道,其他语言没有这个特性,例如c语言在Windows上编译的文件,放到Linux系统上运行,可能就有不兼容问题。

那么问题来了,Java语言的跨平台是怎么做到的呢?本文,我给大家解答一下。

一、Java跨平台原理

首先我们来说一下Java代码的运行过程:

1)首先将Java文件编译成字节码(.class)文件;

2)使用Java虚拟机(JVM–Java Virtual Machine)运行运行字节码文件。

上面的步骤中,第一步中,在所有的平台上生成的字节码文件都是相同的。

上面的步骤中,第二步中,在不同的平台上运行字节码文件的Java虚拟机是不同的。

Java的开发团队针对不同的平台开发出了对应版本的Java虚拟机,这使得同一个Java代码文件可以再不同的平台上运行。

所以,Java能实现跨平台运行是因为有各种平台对应版本的Java虚拟机的支持。

二、了解几个名词

    JDK

JDK是Java Development Kit的缩写,JDK是Java语言的软件开发工具包(SDK)。提供了Java开发、编译、运行需要的文件和环境。

在JDK的安装目录下有一个Jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是Jvm,lib中则是Jvm工作所需要的类库,而Jvm和 lib合起来就称为Jre。

    JRE

JRE是Java Runtime Environment的缩写,JRE的内部有一个Java虚拟机(Java Virtual Machine)以及一些标准的类别函数库(Class Library),JRE是运行Java字节码文件必备的工具。

    JVM

JVM是Java Virtual Machine的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

JVM有针对不同平台的版本,它们可以运行相同的Java代码编译的字节码文件,这使得Java代码实现的跨平台。

Java程序就相当于是老王,操作系统相当于美国人或日本人,翻译就相当于JVM,通过不同JVM实现Java程序的跨平台。

经验分享 程序员 微信小程序 职场和发展