什么是java虚拟机

为什么会出现Java虚拟机?为甚Java跨平台原理?首先回答这两个问题

不同的操作系统之间,相同的操作系统不同位数,都有着不同的指令集,例如windows和linux,64位和32位。对于不夸平台的开发语言来说,在windows开发的一套系统,放在linux上跑会出问题,因此需要为不同的操作系统开发不同的版本。但Java的跨平台正是克服了这一缺点,他在操作系统与用户的程序之间增加了虚拟机,虚拟机屏蔽了指令集的差异。你可能会问怎么屏蔽的呢?Java为每一种操作系统都开发了一套Java虚拟机,而Java虚拟机只认识字节码文件(也就是.class文件),每一个.java文件要想运行都需要先编译成.class文件才能在Jvm上运行,也正是这样才有了java的一次编译 到处运行的说法,与其说Java的跨平台,不如说Java虚拟机的跨平台。

java虚拟机在java结构中所处的位置

Java虚拟机的作用简介 

Java虚拟机是java的基础和核心,Java虚拟机处于Java编译器和os平台之间的虚拟平台。java虚拟机可以运行字节码文件。虚拟机中的Java解释器将字节码文件解释成适合该硬件平台和操作系统的机器语言。

注意:通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作,因为此可执行文件包含了对目标处理器的机器语言。而Class文件这种特殊的二进制文件,是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的!

Java编译器只面向Java虚拟机,将源文件编译成.class文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值