专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

Java是如何实现平台无关性的_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/7 1:32:51       共计:3561 浏览

Java是如何实现平台无关性的?

所谓平台无关性指的就是程序可以在任何平台运行,而不需要改动程序本身。基于这个概念,java平台无关性实现主要由一下几个部分组成。

1、中间字节码文件

我们都知道java程序中的代码文件最终都会被编译成字节码文件,即. class文件。这个编译工作可以通过javac命令来完成。平常开发中我们更多的是通过开发工具来完成的。假如我们用maven构建一个项目,我们可以在idea中直接 build jar或者build war。最终生成的文件就是字节码文件。这些字节码文件是不能被操作系统识别的,操作系统只能识别0和1。那这些文件靠谁识别呢?JVM。

2、JVM

java虚拟机即jvm,是运行在操作系统之上的一个虚拟的编译系统。它的作用就是将字节码文件翻译成操作系统可以识别的语言0和1。这就是我们为什么学java,先要安装jdk。jdk中包括了jvm。没有jvm,java源代码是无法编译成字节码文件的。不同操作系统我们需要安装不同的jdk,不同平台的jvm对外暴露的是同样的接口,但是内部解释0和1的过程是不一样的,这就间接实现了跨平台。我们平常写代码就不用考虑不同平台兼容性的问题,jvm会帮你做,write once,run anywhere。鉴于此,我们也可以开发一种语言,只要能编译成字节码文件,就能借助jvm让其运行在操作系统上,就像scala。~笑脸~

3、语言本身的规范

这也是跨平台一个重要的原因。Java的基本数据类型的值域和行为都是由它自己定义的。

不管是在那种平台下运行,Java中的int都是32位二进制表示有符号整数,而float则总是遵循IEEE754浮点标准的32位浮点数。

在像C/C++这样的语言中,基本数据类型int的值域是由它的占位宽度决定的,而它的占位宽度则由平台决定的。这就是它不能跨平台的一个原因了。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:influent_java | ·下一条:商城app开发_java

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有