教育改变生活,科泰成就梦想!
免费热线:400-696-8028

教学课堂CLASSROOM

开班信息
热门话题
java技术
目前所在位置: 首页 > java技术

Java编程语言实现跨平台运行的原理

来源:北大青鸟科泰校区时间:2020-03-11

内容提要: java编程语言具有一次编译导出运行的特性,java编程语言跨平台是怎样实现的呢?这就要谈及Java虚拟机!

java编程语言具有一次编译导出运行的特性,那个从这句话可以看出亮点:一就是java具有很强的跨平台特性。第二就是java在跨平台的过程中要经历两个阶段,第一阶段是编译阶段,第二阶段是运行阶段!

java编程语言跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。java跨平台的实现原理如下,

首先,我们来了解一下什么是平台?

所谓的平台,就是CPU和操作系统的结合体。市面上CPU的种类很多,不同公司生产的CPU支持相同或不同的指令集。指令集就是CPU用来计算和控制计算机系统的一套指令的集合。指令集又分为精简指令集(RISC)与复杂指令集(CISC)。

操作系统是充当用户和计算机之间交互的界面软件,不同的操作系统支持不同的CPU,严格意义上说是不同的操作系统支持不同CPU的指令集。例如:windows和liunx都支持Intel和AMD的复杂指令集(CISC),但并不支持精简指令集(RISC)。

总之,开发程序,首先要确定该程序在什么CPU上运行,也就是要知道CPU所使用的指令集,其次要确定操作系统。

JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。

而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。

JVM是一个”桥梁“,是一个”中间件“,是实现跨平台的关键,Java代码首先被编译成字节码文件,再由JVM将字节码文件翻译成机器语言,从而达到运行Java程序的目的。

注意:编译的结果不是生成机器码,而是生成字节码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行。不同平台下编译生成的字节码是一样的,但是由JVM翻译成的机器码却不一样。

所以,运行Java程序必须有JVM的支持,因为编译的结果不是机器码,必须要经过JVM的再次翻译才能执行。即使你将Java程序打包成可执行文件(例如 .exe),仍然需要JVM的支持。

注意:跨平台的是Java程序,不是JVM。JVM是用C/C++开发的,是用来编译成机器码的,机器码不能跨平台,不同平台下需要安装不同版本的JVM。

温馨提示:想学Java软件开发的朋友,请联系北大青鸟长沙科泰教育学院。
联系我们

扫码关注科泰

免费咨询:400-696-8028

报名电话:0731-88122069

咨询QQ: 783463085

学校地址:长沙市开福区湘江北路与开顺路交汇处(金霞跨境产贸城)

在线报名

长沙北大青鸟科泰IT梦想学院·长沙科泰电子商务有限公司·版权所有__湘ICP备19001789号-1__