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

介绍

C/C++语言都直接编译成针对特定平台机器码。如果要跨平台,需要使用相应的编译器重新编译。
Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过
Java虚拟机来执行的。
字节码文件不面向任何具体平台,只面向虚拟机。
Java虚拟机是可运行Java字节码文件的虚拟计算机。不同平台的虚拟机是不同的,但它们都提供了相同的接口。
Java语言具有一次编译,到处运行的特点。就是说编译后的.class可以跨平台运行,前提是该平台具有相应的Java虚
拟机。但是性能比C/C++要低。
Java的跨平台原理决定了其性能没有C/C++高

原理

  • 一次编译,到处执行
  • 编译器的作用,将文件编译成Class文件
  • 虚拟机的作用:将字节码文件class我就爱你解释成对应平台机器的机器码并且执行
  • Java虚拟机可以跨所有平台吗?只有提供并安装了相应的虚拟机,就可以跨该平台
  • 虚拟机与解释器的关系: 解释器是虚拟机的一个重要组成部分
  • Java语言的执行要经过编译和解释两个阶段
posted @ 2021-09-22 13:51  致非  阅读(198)  评论(1编辑  收藏  举报