java具有跨平台运行的特性,可以一次编译到处运行
在了解java跨平台的原理之前我们要知道,平台是指什么?
平台就是指我们计算机的操作系统,例如:Windows、Linux、Mac等操作系统。
跨平台的意思就是java程序在编译完成之后,在这些平台上都可以运行,比如我在Windows上编译好一个java程序,不做任何修改就能在Linux或者Mac系统上运行。
那么跨平台是如何实现的呢?
这里就要提到java虚拟机(Java Virtual Machine,简称 JVM) ,JVM是一个软件,在每个平台都有不同的版本,java代码被编译后生成后缀为.class的文件,叫做字节码文件,JVM负责将字节码文件翻译成对应平台下的机器码然后运行,它的跨平台要点是实现能运行在各个平台上的JVM。简单理解就是我们去国外旅游,每去一个不同的国家就要带上一个不同的翻译,这个翻译就是JVM,我们相当于.java文件,我们说出的中文就是.class文件,我们带的翻译肯定能听懂我们说的话,我们将我们(.java)的想法用中文(.class)说给翻译(JVM)听,然后翻译(JVM)再将我们说的话(.class)翻译给当地人(平台)听。
最后我们来对java跨平台进行一个总结:
java源文件(.java)要先编译成字节码文件(.class),然后字节码文件再通过java虚拟机(JVM)解释成对应平台的机器码在平台上运行。
编译生成的字节码文件与任何平台无关,通过java虚拟机在平台运行 (一次编译,到处运行) 。
java虚拟机与平台相关,不同的平台需要不同的java虚拟机,但它们都提供了相同的接口。
PS:文章是作者工作学习总结,受本人知识水平的限制,文章难免有错误之处,仅供参考
本文由樊兔教育图二UR整理发布,樊兔教育是一个泛互联网职业教育平台,官网地址:ftuedu.com