怎么关闭QQ空间?
2172023-2-24
java是跨平台的,就是生成的.class文件拿到任何系统平台都能运行,其实是建立在虚拟机上的,也就是jvm,你装jkd的时候就带了。
所有的java程序都是在虚拟机也就是jvm是运行的,而且jvm的版本也不同,有windows版本的还有linux版本的,正是因为有了不同的jvm才使得java可以跨平台。简单的说就是因为jvm的不跨平台才导致了java的跨平台,其实是一个过度。不象c语言他没有jvm,通过操作系统内核来编译,windows的操作系统编写的c,拿到linxu下就用不了。
打个比方,就象大家所知道的看电影有一种文件叫rmvb格式的,它拿到哪个平台都能运行,那是因为有realplayer,暴风等播放器的原因。不同的播放器有windows版 和linux版一个道理。
Java之所以能跨平台,是因为java虚拟机能跨平台。
.NET之所以能跨语言,就简单的说吧
任何代码在最终要变成机器语言,所以
对于机器来说无论你用才C#
还是VB.NET
最后的意思表达都是一样的,
只不过机器在中做了翻译的过程;
中间有N
多专有名词
反正都是通过.net
Framework
所谓的虚拟机。JAVA
也是这套机制
只不过。NET
有MSIL
好象就是微软的公共语言什么的
因为Java
程序
编译之后的
代码
不是能被
硬件系统
直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java
虚拟机
(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。
而C/C++不可以跨平台的原因就是编译后的代码在特定的
硬件
上可以直接执行,换个硬件平台这些代码就不能被执行了。不过正是因为可以直接执行,所以C/C++程序的执行效率要比Java程序高
Java语言通过使用Java虚拟机(JVM)实现跨平台特性。Java代码在编译时会被翻译成字节码(bytecode),而不是机器码。字节码可以在任何支持Java虚拟机的平台上运行,因为JVM会将字节码翻译成机器码。换句话说,Java应用程序不需要针对不同操作系统编写不同的代码,因为字节码可以在任何操作系统上运行。这也是为什么Java被称为“一次编写,到处运行”的语言。
Java之所以能跨平台,是因为java虚拟机能跨平台。
.NET之所以能跨语言,就简单的说吧
任何代码在最终要变成机器语言,所以
对于机器来说无论你用才C#
还是VB.NET
最后的意思表达都是一样的,
只不过机器在中做了翻译的过程;
中间有N
多专有名词
反正都是通过.net
Framework
所谓的虚拟机。
JAVA
也是这套机制
只不过。NET
有MSIL
好象就是微软的公共语言什么的
为什么java能跨平台的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java可以跨平台的原因是什么、为什么java能跨平台的信息别忘了在本站进行查找喔。