java语言为什么能跨平台

Posted lijingran

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java语言为什么能跨平台相关的知识,希望对你有一定的参考价值。

参考https://blog.csdn.net/woailuo453786790/article/details/51660015

因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台都安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码(机器码)。

因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,而是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。
编译器是先把java文件编译成二进制字节码的class文件,jvm就解释执行class文件。   
 就是因为java是运行在jvm上的,所以它的代码就能不经修改,就能在不同平台的jvm上运行(在UNIX用UNIX的jvm,在linux上用linux的jvm,在windows上用windows的jvm)   
 假如用windows移植到UNIX,只需把java文件在UNIX的jvm上编译成class文件,然后用jvm运行就可以了.  

技术分享图片

Java为什么能跨平台
Java之所以能跨平台,是因为java虚拟机能跨平台。








以上是关于java语言为什么能跨平台的主要内容,如果未能解决你的问题,请参考以下文章

JAVA是啥意思

java有啥作用

java语言的特点

课程总结

Go语言的跨平台能力到底有多强?看完你就知道了

什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?