Java作业1-03:Java跨平台实现的原理是什么?

两个概念

  1. Java虚拟机(JVM)。JVM的功能是连接Java程序与不同的操作系统,相当于一个接口,有了JVM,相同的Java程序就可以在不同的操作系统上运行了。
  2. 字节码。字节码是Java虚拟机采用的一种编码方式,类似于机器码,是为了解决不同的操作系统字节位数不一致的问题而产生的。

Java程序的运行过程

先由编译器编译为中间文件,再由解释器解释运行。

  1. 编译过程Java源代码(.java文件)经过编译器编译后,成为中间文件(后缀为.class),这个中间文件里面存储的就是字节码,是为了给虚拟机读取的。这一步是编译过程,由编译器完成。
  2. 解释过程。有了class文件之后,不同的操作系统的JVM就可以一句句读取字节码文件并将其翻译成不同操作系统的机器码然后执行;这一步是解释过程,由JVM完成。

Java虚拟机与Java程序、操作系统之间的关系
上图中,最下面是三种操作系统(Windows,Linux与Mac),中间是Java虚拟机,最上面是程序员写的Java程序,颜色相同表示该程序可以在该操作系统上运行。可以看到,Java虚拟机在其中作为一个桥梁,Java程序只需要与Java虚拟机进行适配,而不需要与不同的操作系统进行适配,从而也就实现了Write once, run anywhere!的功能。

End

以上是我对Java跨平台实现原理的理解,如有理解不到位之处欢迎留言指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值