Java跨平台原理
- Java为什么能够流行
- 外部环境
- 互联网的爆发式发展
- 互联网上的电脑硬件不同,软件环境差异较大。需要一 个跨平台的语言。
- Java核心优势:
- 跨平台
总结1:Java运行过程
- Java程序的运行分为两步:先编译再解释执行
- 通过“编译器”将Java源程序编译成Java 字节码文件(.class)(字节码文件采用结构中立 的中间文件格式)
- 通过不同的“虚拟机”将Java字节码文件解释为对应机器语言并执行
总结2:Java跨平台和C跨平台的区别
- Java:一次编译,到处运行 C:多次编译,到处运行
- 在互联网情况下,平台各异,Java的跨平台更具有优势
- Java可以跨所有平台吗:要看有没有提供并安装相应的虚拟机
- Java的运行速度没有C语言快
- Java需要将class文件解释成机器码再执行;C执行执行机器码
总结3:字节码文件bytecode
- class文件 二进制文件
- 格式中立、平台无关的二进制文件
- 是编译的产物,是解释的原料
总结4:Java虚拟机 JVM
- JVM是Java Virtual Machine(Java虚拟机)的缩写
- JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿 真模拟各种计算机功能来实现的。
- JVM就是一个虚拟的用于执行bytecodes字节码的计算机
- Java虚拟机是Java最核心技术,也是跨平台的基础。
- Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在 Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
- Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能 够“一次编译,到处运行”的原因
总结5:JDK、JRE、JVM的区别联系
- JDK:
- Java Development Kit
- 针对Java开发员的产品
- JRE:
- Java Runtime Environment
- 是运行Java程序所必须的环境集合
- JVM
- Java Virtual Machine
- 解释运行Java字节码文件,跨平台的核心
联系:JDK 包含JRE,JRE包含JVM。