JVM 的运行机制与java跨平台原因——小白必看!!

JVM 并没有大家想的那样复杂,对于大多数学过Java的同学来说并不陌生。Java所运行的代码 都是在这个运行Java字节码的虚拟机上运行的。
JVM运行在操作系统之上,不与硬件设备直接交互。
Java之所以能够跨平台,是因为Java的源文件再通过编译器之后被翻译成.Class文件文件(字节码文件),.Class文件又被JVM中的解释器编译成机器码在不同的操作系统上运行,即使每个系统的解释器都是不同的,但基于解释器实现的虚拟机是相同的。
一个平台上的二进制可执行文件不能在其他平台上工作,因为此可执行文件包含了对目标处理器的机器语言。而Class文件这种特殊的二进制文件,是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的!
JVM:够运行Java字节码(Java bytecode)的虚拟机。在JVM运行.Class文件

Java编译器:将Java源文件(.java文件)编译成字节码文件(.class文件,是特殊的二进制文件,二进制字节码文件),这种字节码就是JVM的“机器语言”。javac.exe可以简单看成是Java编译器。

Java解释器:是JVM的一部分。(与系统解释器不同)Java解释器用来解释执行Java编译器编译后的程序。java.exe可以简单看成是Java解释器。
java程序的具体运行过程
1.Java源文件被编译器编译成字节码文件。
2.JVM将字节码文件编译成相应操作系统的机器码。
3.机器码调用相应操作系统的本地方法库执行的相应方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值