Java跨平台原理

Java运行过程

• Java程序的运行分为两步:先编译再解释执行
• 通过“编译器”(javac.exe)将Java源程序编译成Java 字节码文件(.class)
• 通过不同的“虚拟机”将Java字节码文件解释为对应机器语言并执行(java.exe)

在这里插入图片描述

Java跨平台和C跨平台的区别

• Java:一次编译,到处运行 C:多次编译,到处运行
• 在互联网情况下,平台各异,Java的跨平台更具有优势
• Java可以跨所有平台吗:要看有没有提供并安装相应的虚拟机
• Java的运行速度没有C语言快
• Java需要将class文件解释成机器码再执行;C执行执行机器码

字节码文件bytecode

• .class文件 二进制文件
• 格式中立、平台无关的二进制文件
• 是编译的产物,是解释的原料

Java虚拟机 JVM

• JVM是Java Virtual Machine(Java虚拟机)的缩写
• JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿
真模拟各种计算机功能来实现的。
• JVM就是一个虚拟的用于执行bytecodes字节码的计算机
• Java虚拟机是Java最核心技术,也是跨平台的基础。
• Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在
Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
• Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能
够“一次编译,到处运行”的原因

总结:JDK、JRE、JVM的区别联系

• JDK:
Java Development Kit 针对Java开发员的产品
• JRE:
Java Runtime Environment 是运行Java程序所必须的环境集合
• JVM
Java Virtual Machine
解释运行Java字节码文件,跨平台的核心
• 联系:JDK 包含JRE,JRE包含JVM。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值