1.3.1 简单性<br> 由于Java最初是为了控制电子产品而设计的,因此它必须简单明了。为了保证这种简单性,Java去掉了C++语言中许多复杂的、冗余的、有二义性的概念。例如,操作符重载、多重继承等。为了将程序员从复杂的内存管理的负担中解脱出来,同时也是为了减少错误,Java使用了自动内存垃圾收集机制,程序员只要在需要的时候申请即可,不需要释放,而由Java自己来收集、释放内存中无用的块。另外,Java也适合于在小型机上运行,它的基本解释器及类的支持约为40 KB,加上标准类库和线程的支持约为215 KB。库和线程的支持也只有215 KB左右。<br> 1.3.2 面向对象<br> 面向对象可以说是Java语言中最重要的特性。一般我们使用的一些所谓的面向对象的编程语言,如C++,Delphi等,实际上都是一种混合型的语言,即在过程式的语言中加上面向对象的扩展。而Java语言的设计完全是面向对象的,它去除了C枓语言中为了兼容C语言而保留的非面向对象的内容,在编程过程中全部使用类和类的实例化。同时,Java语言支持静态和动态风格的代码继承和重用,甚至一些基本数据类型,例如整型、字符型、浮点型等在Java语言中都可以作为对象处理。<br> 1.3.3 平台无关性<br> Java语言具有最完美的平台无关性。Java的平台无关是指用Java编写的应用程序不用修改就可在不同的软、硬件平台上运行。一般,平台无关分为源代码级和目标代码级两种。像C语言和C++语言也具有一定程度的源代码级平台无关,即C语言或C枓语言的源程序若要在不同的平台(DOS或UNIX平台)上运行,必须重新编译。Java则通过使用与平台无关的代码——字节码(byte code),而不是通常的特定机器上的机器码,依靠Java虚拟机(JVlVI)在目标代码级实现平台无关性.<br> JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚拟的机器指令,并有自己的栈、寄存器组等,它是Java平台无关的基础。但是,JVM通常是在软件上而不是在硬件上实现。在.1VM上,由Java解释器来解释.1ava编译器编译后的程序,即Java编程人员在编写软件之后,通过Java编译器将Java源程序编译为JVM的字节码。<br> 任何一台机器,只要配备了Java解释器就可以运行这个程序,而不论这种字节码是在何种平台上生成的,从而使Java程序可以方便地被移植到网络上的不同机器上。图1-1为一个Java程序的执行过程。<br> 另外,Java采用了基于IEEE标准的数据类型,即Java的原始数据类型在任何机器上都是一样的。例如,整型总是32位,长整型总是64位等,这样保证了程序可以在任何平台上工作.并且,Java还提供了一个用于访问底层操作系统功能的可扩展类库,使.1ava的应用程序不依赖于具体的系统,确保了Java的平台无关性。<br> ……
展开