本文主要是介绍Java语言跨平台可移植理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在理解Java语言的跨平台和可移植特性前,我们先来看看C语言的跨平台性。
如下图所示:
windows平台上的C语言程序通过汇编生成二进制形式的目标文件,最后生成exe类型的可执行文件。
Linux平台上的C语言程序通过汇编生成.T类型的文件最后生成EXE类型的可执行文件。
我们经常说C语言不容易跨平台,其实说的是可执行文件层面上的不容易跨平台。
而源码层是可以跨平台的,也就是说你在windows上写的C代码是可以在Linux上运行的,但是前提要遵守POSIX原则(操作系统为上层应用提供硬件统一的API,也可以提供自己独特的API,如win32),POSIX原则其实就是接口统一原则。
大白话讲就是,你在window是上学的C语言代码,里面调用的API在Linux中也可以调用,如果你的代码中调用了windows操作系统自身的API如win32,那这个代码在Linux中肯定是会报错的。
下面理解Java语言跨平台性质
下图就展示了java文件生成class文件然后由平台上的JVM虚拟机执行。
它的特点就是一次编写处处运行
可以看到不同机器上的JVM是不一样的,JVM是不跨平台的,但是它实现了class文件的跨平台,这样也就实现了java的跨平台特性。
这篇关于Java语言跨平台可移植理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!