Java语言的跨平台性是如何实现的?

Java属于高级语言中的编译语言,编译语言运行的大致过程为:

源代码文件是人工编写的文件,如.cpp、.java等由相应语言代码组成的源文件;

源文件不能直接被计算机执行,需要相应的编译器,将源代码进行翻译(编译),得到的是汇编语言组成的汇编程序(不同cpu、操作系统平台编译出的汇编代码不同

不同的汇编程序经过汇编器的汇编,得到的是计算机可以运行的二进制文件,程序就可以执行了(如果需要生成可执行文件,如exe等,需要经过链接器将文件再次“打包”)

通常所说的编译语言的不可跨平台问题一般指,不同平台需要的编译器不同(对源代码的编译过程不同)、编译出的汇编文件不同(后续也不同),当在平台A中的代码在平台B上编译运行时,会出现部分偏差甚至错误。

Java文件运行大致过程

Java文件在运行时,会将源文通过javac命令编译为字节码文件,这个文件是跨平台的,java虚拟机(jvm,在java运行环境/jre中)也对应的只接收处理class文件,java虚拟机是一个通用的执行平台(但有不同版本),不同java平台编写文件通过java虚拟机转换的文件最后功能相同,因而实现在任意平台的java程序都可以在其他平台运行

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐