2013-05-28
2013-05-28
Java跨平台是什么意思?
Java为消费类智能电子产品而设计,但智能家电产品并没有像最初想象的那样拥有大的发展。
然而90年代,Internet却进入了爆发式发展阶段,一夜之间,大家都在忙着将自己的计算机连接到网络上。这个时侯,遇到了一个大的问题。
人们发现连接到Internet的计算机各式各样,有IBM PC、苹果机、各种服务器等等,不仅硬件CPU不同,操作系统也不同,整个的网络环境非常复杂。这个时候,程序员们希望他们编写的程序能够运行在不同的机器,不同的环境中,这需要一种体系中立的语言(即跨平台)。
Java的研发小组忽然发现他们用于小范围的语言也可以适应Internet这个大环境。
跨平台是Java语言的核心优势,赶上最初互联网的发展,并随着互联网的发展而发展,建立了强大的生态体系,目前已经覆盖IT各行业的“第一大语言”,是计算机界的“英语”。
虽然,目前也有很多跨平台的语言,但是已经失去先机,无法和Java强大的生态体系抗衡。Java仍将在未来几十年成为编程语言的主流语言。
计算机高级语言的类型主要有编译型和解释型两种,而Java 语言是两种类型的结合。
Java首先利用文本编辑器编写 Java源程序,源文件的后缀名为.java;再利用编译器(javac)将源程序编译成字节码文件,字节码文件的后缀名为.class; 最后利用虚拟机(解释器,java)解释执行。
如下图所示:
Java的跨平台原理可以使用八个字修饰:一次编译,到处运行。
但是需要注意的是,Java的跨平台性是需要该平台支持并安装相应的虚拟机,才可以在该平台上运行!!
如果该平台不知识Java虚拟机,则不能运行!
当然这里也有 C/C++语言的跨平台原理:多次编译,到处运行。
C/C++运行线路图:
性能高低:理论上,C/C++语言是执行机器码,而Java的执行增加了一个将字节码转换为机器码后再执行的步骤,所以Java的性能要低于C/C++。但是经过虚拟机优化后,可以大幅提升执行效率,接近C/C++的执行效率。