「java语言支持跨平台吗」java语言是跨平台的吗?为什么?
今天给各位分享java语言支持跨平台吗的知识,其中也会对java语言是跨平台的吗?为什么?进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java的跨平台是不是指同一个源程序在windows电脑上运行就能得到一个适合windows电脑的
- 2、java跨平台是什么意思?
- 3、java的跨平台工作原理
- 4、java跨平台如何实现?
- 5、JAVA语言为什么能跨平台?
- 6、为什么 Java 被称作是“平台无关的编程语言”?
java的跨平台是不是指同一个源程序在windows电脑上运行就能得到一个适合windows电脑的
不是,Java的跨平台,是指“一次编译,到处运行”,是指Java源代码编译后的字节码(.class)文件可以在不同操作系统上运行(Windows, Linux, MAC等),而这些操作系统上需要有JRE(Java Runtime Enviorment)即虚拟机。
至于Android,只不过是借用了Java编程语言,是Google开发的另一个平台,它用的虚拟机和一般意义上的Java虚拟机JVM(Oracle /SUN的)不一样,叫Dalvik VM,它还需要把Java标准字节码文件(.class) 转换为Davik虚拟机代码(.dex)。apk安装包实际上就是压缩了dex文件的压缩包。
这个跨平台,不包括Android的,这主要是历史原因,Oracle还和Google打了场官司,你可以了解一下。Oracle对Java每推出一个新版本JDK,Google就要快速跟进,创造一些工具(ADT)让其能转化为Davik VM代码。
java跨平台是什么意思?
java跨平台就是能在不同的环境(主要是操作系统)上运行java程序!
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。
java的跨平台工作原理
首先我们要理解什么是跨平台,所谓的跨平台就是JAVA写的一份代码可以在任意的操作系统平台上运行。
为什么跨平台会成为一个问题呢?因为每一个操作系统平台支持不同的指令集我们所写的代码经过编译之后只能适用于一个平台,换一个平台就不支持了。而JAVA完美的解决了这个问题,JAVA是如何做到这一点的呢?在上图中我们可以看到JAVA代码执行的流程。
JAVA源代码-JAVA字节码-JVM解释执行
我们写的JAVA源代码会被编译为字节码,然后被JVM虚拟机解释执行,我们可以看到JVM虚拟机在跨平台的过程中发挥了重要的作用,就是由它解释字节码并执行的,对应于每一个平台都有一个JVM虚拟机,而字节码只有一份,windows的JVM虚拟机可以将字节码解释为能在windows平台上执行的指令并执行,Linux的JVM虚拟机可以将字节码解释为能在Linux平台上执行的指令并执行,他们执行的字节码都是同一份。这样就实现了跨平台。
java跨平台如何实现?
在Java中源文件的后缀为*.java,之后通过编译生成一个*·class文件,最后在Java自己设计的一个计算机上运行,也就是虚拟机(JVM)。JVM是在一台计算机上由软件或硬件模拟的计算机,所有的*.class文件都是在JVM上运行的,即*.class文件只需认JVM,由JVM再去适应各个操作系统。如果不同的操作系统安装上符合其类型的JVM,那么以后程序无论到哪个OS上都是可以正确执行的。
所以,Java真正实现跨平台的是JVM的跨平台。
JAVA语言为什么能跨平台?
所谓的跨平台就是JAVA写的一份代码可以在任意的操作系统平台上运行。
为什么跨平台会成为一个问题呢?因为每一个操作系统平台支持不同的指令集我们所写的代码经过编译之后只能适用于一个平台,换一个平台就不支持了。而JAVA完美的解决了这个问题。
Java的一大特色就是“write once, run anywhere”即“一次编译,到处运行”。就是说你不用专门为每个平台写一份代码,你写的Java程序在任何平台都能跑起来。
它的实现原理是在系统层面上又增加了一层虚拟机(Java Virtual Machine,简称JVM),且为每个平台都定制了对应的虚拟机。然后Java程序是在虚拟机上跑的,因此平台无关。
Java的运行流程是:程序员写了源代码(Source Code,.java后缀,跨平台),然后经过编译器编译成字节码(Byte Code,.class后缀,二进制文件),字节码是所有虚拟机都能理解的中间文件。然后交给虚拟机(每个平台都有对应的虚拟机)去运行。
所以对“write once, run anywhere”更准确的理解是,“一次编译,到处装虚拟机,所以到处运行”。
整个流程如下图所示。
希望对您有所帮助!~
为什么 Java 被称作是“平台无关的编程语言”?
为什么 Java 被称作是“平台无关的编程语言”。
JAVA语言是跨平台的,可以实现一次编写,到处运行。这是因为它设计有一个虚拟机的机制,是由虚拟机屏蔽了平台差异。
关于java语言支持跨平台吗和java语言是跨平台的吗?为什么?的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-22,除非注明,否则均为
原创文章,转载请注明出处。