java虚拟机相同吗_提供相同运行环境的Java虚拟机

除虚拟机的方法之外,还有一种方法能够提供不依

赖于特定硬件及操作系统的程序运行环境,那就是

Java。

大家说的Java,有两个层面的意思。一个是作为编

程语言的Java,另一个是作为程序运行环境的

Java。同其他编程语言相同,Java也是将Java语法

记述的源代码编译后运行。不过,编译后生成的并

不是特定CPU使用的本地代码,而是名为字节代码

的程序。字节代码的运行环境就称为Java虚拟机

( JavaVm, Java virtual machine)。Java虚拟机

是一边把Java字节代码逐一转换成本地代码一边运

例如,在使用用于AT兼容机的Java编译器和Java虚

拟机的情况下,编译器会将程序员编写的源代码

sample. java

转换成字节代码

( sample class)。而Java虚拟机(java.exe)则

会把字节代码变换成ⅹ86系列CPU适用的本地代

冯,然后由x86系列CPU负责实际的处理。

在程序运行时,将编译后的字节代码转换成本地代

码,这样的操作方法看上去有些迂回,但由此可以

实现同样的字节代码在不同的环境下运行。如果能

够结合各种类型的操作系统和硬件作成Java虚拟

机,那么,同样字节代码的应用就可以在任何环境

下运行了

ce916b4ca926

Java应用在Java虚拟机上运行

①PDA( Persona| Digital Assistant)是指可以放入

手提包中的小型手持计算机。也称为“手持设备”。

Windows有 Windows专用的Java虚拟机,

Macintosh也有 Macintosh专用的Java虚拟机。从操

作系统方面来看,Java虚拟机是一个应用,而从

Java应用方面来看,Java虚拟机就是运行环境。虽

然这样看起来Java虚拟机全是好处,但其实也有不

少问题。其中一点就是,不同的Java虚拟机之间无

法进行完整互换。这是因为,想让所有字节代码在

任意Java虚拟机上都能运行是比较困难的。而且,

当我们使用只适用于某些特定硬件的功能时,就会

出现在其他Java虚拟机上无法运行,或者功能使用

受限等情况。

另一点就是运行速度的问题。Java虚拟机每次运行

时都要把字节代码变换成本机代码,这一机制是造

成运行速度慢的原因。为此,目前业界也在努力改

善这一问题,比如把首次变换后的本地代码保存起

来,第2次以后直接利用本地代码,或是对字节代

冯中处理较为费时的部分进行优化(改善生成的本

地代码质量)等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值