什么是平台无关性?Java是如何做到平台无关性的?

  平台无关性就是说,我的一份代码写好之后,可以在不同的硬件平台上面运行。平台无关性有两种:一是源码级别的;一种是目标代码级别的。

  C/C++是源码级别的。这两种语言是编译型的语言,只要有源代码,在不同的平台上重新编译一下就可以实现跨平台运行。但是在实际交付的时候,我们一般是交付软件产品,不会把源码也交出去,那这个时候,这个软件就只能在特定的平台下运行了。

  Java是目标代码级别的,他是解释型语言。只要写好Java代码,就可以运行在安装了JDK的机器上面,由不同平台的解释器把Java翻译的字节码解释为不同的机器码,达到在不同平台运行的效果。所以,不同平台上的Java虚拟机是不同的。

  不论是编译型的语言,还是解释型的语言,最终都要将其转换为机器可以识别的机器码,才能在机器上运行。但是由于机器之间硬件条件的不同,比如CPU指令集不同等等原因,同样的一份机器码,在这台机器上可以正常运行,但在另一台机器上可能就会出现问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值