图解 Java 跨平台原理(字节码文件虚拟机)

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图解 Java 跨平台原理(字节码文件虚拟机)相关的知识,希望对你有一定的参考价值。

文章目录

C/C++

C/C++语言都直接编译成针对特定平台机器码。如果要跨平台,需要使用相应的编译器重新编译。

例如下面的Windows系统中C语言编译执行过程,如果要到Linux上,还需要C源程序进行编译成Linux可执行文件再执行

Java

Java 源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过 Java 虚拟机来执行的。 字节码文件不面向任何具体平台,只面向虚拟机。

Java 虚拟机是可运行 Java 字节码文件的虚拟计算机。不同平台的虚拟机是不同的,但它们都提供了相同的接口。 Java 语言具有一次编译,到处运行的特点。就是说编译后的.class 可以跨平台运行,前提是该平台具有相应的 Java 虚拟机。但是性能比 C/C++要低。 Java 的跨平台原理决定了其性能没有 C/C++高。

以上是关于图解 Java 跨平台原理(字节码文件虚拟机)的主要内容,如果未能解决你的问题,请参考以下文章

深入探索Java工作原理:JVM,内存回收及其他

Java跨平台运行的原理

JVM原理介绍

图解Java虚拟机内存模型

图解Java虚拟机内存模型

JVM执行原理