您的位置 首页 java

什么是Java的平台无关性

Java的平台无关性

Hello,各位小伙伴是不是对于Java面试很头疼呢?

我以前跟你们一样也是如此,今天我给大家分享一些经验与技巧。

首先回顾一下,上一篇文章,我们说到了对JAVA的理解,那么这一节课开始我们将重点分析第一点,也就是什么是JAVA的平台无关性,说到这个平台无关性,小伙伴们是不是很懵逼呢?这句话的意思是, 一次编译,到处运行。那我们先看看Java程序如何被创建。

Java程序的创建和运行

首先我们也知道一个命令Javap,这个是Java自带的反解析编译器,可以查看Java编译器生成的字节码。那我们说说Java的运行过程。

1.Java源文件被编译器编译成字节码文件。

2.JVM将字节码文件编译成相应的操作系统机器码。

3.机器码调用相应操作系统的本地方法库执行相应的方法。

也就是说我们的Java源文件,通过 javac 命令编译生成字节码 . class文件 ,之后 .class文件又被JVM中的解释器编译成机器码,运行在不同的操作系统上(windows, linux , unix ,mac等)运行。每种操作系统的解释器都是不同的,但基于解释器实现的 虚拟机 是相同的,这也是Java能够跨平台的 愿因 了。

需要注意的一点是:在一个Java进程开始运行或,虚拟机就开始实例化了,有多个进程就会启动多个虚拟机实例。进程退出或关闭,则虚拟机实例就会消亡,在多个虚拟机实例之间不能共享数据。

接下来我们留一个作业。

为什么要先编译成字节码再解析成机器码,而JVM不直接将字节码解析成机器码呢?

好了这节就到这里,我们下节分析这个问题。

欢迎关注,转发与评论。

文章来源:智云一二三科技

文章标题:什么是Java的平台无关性

文章地址:https://www.zhihuclub.com/182357.shtml

关于作者: 智云科技

热门文章

网站地图