(转)JAVA语言为什么能跨平台?

来源:互联网 发布:算法交易软件 编辑:程序博客网 时间:2024/04/30 06:43

原地址:http://www.cnblogs.com/028fly/archive/2010/04/04/1704248.html

JAVA语言为什么能跨平台?

因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再翻译成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。
因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。 
 
java代码不是直接运行在CPU上,而是运行在java虚机(简称JVM)上的。     java是先把java文件编译成二进制字节码的class文件,jvm就解释执行class文件。     就是因为java是运行在jvm上的,所以它的代码就能不经修改,就能在不同平台的jvm上运行(UNIXUNIXjvm,linux上用linuxjvm,在windows上用windowsjvm     假如用windows移植到UNIX,只需把java文件是UNIXjvm上编译成class文件,然后用jvm运行就可以了.  

 

Java虚拟机Java Virtual Machine) 简称JVM

 

Java为什么能跨平台,.NET为什么能跨语言?

Java之所以能跨平台,是因为java虚拟机能跨平台。
.NET之所以能跨语言,就简单的说吧 任何代码在最终要变成机器语言,所以 对于机器来说无论你用才C# 还是VB.NET 最后的意思表达都是一样的, 只不过机器在中做了翻译的过程; 中间有N 多专有名词 反正都是通过.net Framework 所谓的虚拟机。JAVA 也是这套机制 只不过。NET 有MSIL 好象就是微软的公共语言什么的

0 0
原创粉丝点击