首页编程java编程java的跨平台是什么意思?java的跨平台的含义是什么为什么java可以跨平台

java的跨平台是什么意思?java的跨平台的含义是什么为什么java可以跨平台

编程之家2023-10-1291次浏览

大家好,今天来为大家分享java的跨平台是什么意思的一些知识点,和java的跨平台的含义是什么为什么java可以跨平台的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

java的跨平台是什么意思?java的跨平台的含义是什么为什么java可以跨平台

什么是JVMJava跨平台的原理是什么

首先我们要理解什么是跨平台,所谓的跨平台就是JAVA写的一份代码可以在任意的操作系统平台上运行。

为什么跨平台会成为一个问题呢?因为每一个操作系统平台支持不同的指令集我们所写的代码经过编译之后只能适用于一个平台,换一个平台就不支持了。而JAVA完美的解决了这个问题。

Java的一大特色就是“write once, run anywhere”即“一次编译,到处运行”。就是说你不用专门为每个平台写一份代码,你写的Java程序在任何平台都能跑起来。

java的跨平台是什么意思?java的跨平台的含义是什么为什么java可以跨平台

它的实现原理是在系统层面上又增加了一层虚拟机(Java Virtual Machine,简称JVM),且为每个平台都定制了对应的虚拟机。然后Java程序是在虚拟机上跑的,因此平台无关。

Java的运行流程是:程序员写了源代码(Source Code,.java后缀,跨平台),然后经过编译器编译成字节码(Byte Code,.class后缀,二进制文件),字节码是所有虚拟机都能理解的中间文件。然后交给虚拟机(每个平台都有对应的虚拟机)去运行。

所以对“write once, run anywhere”更准确的理解是,“一次编译,到处装虚拟机,所以到处运行”。

java的跨平台是什么意思?java的跨平台的含义是什么为什么java可以跨平台

整个流程如下图所示。

java的跨平台的含义是什么为什么java可以跨平台

首先,理解平台的含义是什么..平台的意思.个人感觉就是指操作系统,还有一层意思就是运行不同操作系统的不同的硬件设备;

也就是说,某一种代码编译后,既可以在a操作系统下运行,也可以在b操作系统下运行...或者是在c设备上运行.

那么除了java以外还有什么跨平台的语言么?当然有啊,python(但是能力有限,只能不能跨位,就是32不能跨到64,同时也不能跨版本),scala..都可以..但是相对于java,它的跨平台性能就要差一点..(其实java跨平台也不是那么完美,很多时候还是有很多陷阱)

至于java如何实现的跨平台,那就跟java这个语言的机制有关系了.java代码被javac编译成java中间码(就是.class文件)JIT编译器再把java中间码编译成nativecode,最终在芯片上执行..能做到跨平台,就在编译nativecode这步做文章...不同的jvm通过不同的技术,将java中间码按照相同的规范编译成高效的,对应不同平台的原生机器码,从而实现了同一中间码在不同设备上的同样执行结果..以此实现的java跨平台..

2017年8月16日 12:40:34

Java的跨平台特性是指它的源代码可以在多个平台运行

可以这么说,不是都说java一次编译处处运行么。

编译后生成对应的.class文件,这个文件就是jvm读取运行,实现程序的。我的理解是这样的,我们用java语言编写出.java文件,编译后生成.class文件,而不同的平台底层实现不一样,而jvm就是把.class文件转换成平台能识别的代码。这里jvm起到了关键作用,相当于一个黑匣子,屏蔽了底层,我们只需要编写符合java语言规则的代码就行,其他转换到对应平台,java虚拟机帮我们完成了。

如何理解JAVA的跨平台特性

直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。

实际上,编译后的Java代码并不是传统的二进制代码(如Windows下的.exe文件),而是Java字节码,这种字节码文件是不能直接在操作系统上执行的。要想在一个操作系统上运行一个Java程序必须有一个中间环节来负责将Java字节码解释成二进制码,这个中间环节就是Java虚拟机(简称JVM)。由于目前大多数操作系统已经实现了JVM,所以Java轻松实现跨平台性。

文章到此结束,如果本次分享的java的跨平台是什么意思和java的跨平台的含义是什么为什么java可以跨平台的问题解决了您的问题,那么我们由衷的感到高兴!

java static 什么时候赋值(java中使用static声明的变量是否必须赋初值)大内密探灵灵狗演员表 大内密探灵灵狗女主角