前言:
而今朋友们对“java怎么实现跨平台”可能比较重视,咱们都想要剖析一些“java怎么实现跨平台”的相关内容。那么小编也在网络上收集了一些有关“java怎么实现跨平台””的相关文章,希望姐妹们能喜欢,大家一起来了解一下吧!“这里是云端源想IT,帮你轻松学IT”
嗨~ 今天的你过得还好吗?
人生总有不期而遇的温暖
也会有生生不息的希望
- 2023.07.24 -
相信大家看到很多Java书上都会说,Java的一大特性是可以实现跨平台,那么什么是跨平台呢?Java又是怎么实现的呢?下面就来给大家讲讲Java语言跨平台的原理。
一、什么是跨平台
平台:指的是操作系统(Windows,Linux,Mac)。
跨平台:是指Java语言编写的程序,一次编译后,可以在多个系统平台上运行。举个不垮平台的例子:我们电脑版的qq、微信发送给手机是不能安装使用的,这是因为电脑版的是windows版本的,手机的是安卓或ios的。
实现跨平台:Java程序是通过Java虚拟机在系统平台上运行的,只要该系统可以安装相应的Java虚拟机(JVM),该系统就可以运行Java程序。
注意:不是能在所有的平台上运行,关键是该平台是否能安装相应的虚拟机。
二、Java如何实现跨平台
Java的专业解释:Java虚拟机(Java Virtual Machine,简称 JVM)是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。
JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。
通俗的说:JVM,也就是Java虚拟机,是一个平台,它包含于JRE的下面。当你需要执行某个Java程序时,由JVM帮你进行编译和执行。我们编写的Java源码,编译后会生成一种 .class文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。
而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。
三、JDK,JRE,JVM是什么
首先是JDK,DK(Java Development Kit) 是Java语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。
然后我们来看JRE,JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)。
最后来说JVM,JVM就是Java虚拟机,有多个版本,用来支持Java跨平台的。
关于安装和配置java环境
这个之前有详细讲过的哦,需要的小伙伴可以在主页查看之前的文章,这里再大概说一下:
1、先下载安装jdk,首先搜索jdk下载,去Orcle官网下载,下载完后安装;
2、安装完毕后会有jdk,和jre两个文件夹;
JDK打开后目录结构如下图所示:
3、配置环境变量,
打开windons系统的环境变量设置窗口,win10下是:打开我的电脑,在空白处右键单击选择“属性”->“高级系统设置”->“环境变量”;
然后在用户变量这里新建,变量名为PATH,变量值为javac.exe的路径,例如D:\code\jdk1.8.0_151\bin,点击保存。
打开cmd,输入javac,出现下图说明已经配置成功:
四、编写Java程序并编译
安装配置好Java环境之后,我们可以尝试编写一个简单的Java程序并编译出来:
1、在D盘下新建一个文本文件,改后缀名为.java. 比如111.java;
2、 打开111.java,编辑,输入如下代码:
class Hello{public static void main(String[] args){System.out.println("HelloWorld");};}
3、打开cmd,进入D盘,输入javac 111.java,这是编译的命令,javac是编译的意思;
4、编译成功后,会在同样目录下生成Hello.class字节码文件;
5、启动JVM,并执行字节码文件,语法:java 带有main函数的类名举例java Hello;
6、控制台输出“Hello World”。
以上就是Java跨平台的原理及相关的名字解释,相信大家看完这篇文章对Java跨平台性的原理已经理解了。
我们下期再见!
END
文案编辑|云端学长
文案配图|云端学长
内容由:云端源想分享