你好!Java
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 Java语言特点

Java语言能够流行起来并长久不衰,得益于Java语言有很多优秀的关键特点。这些特点包括简单、面向对象、分布式、结构中立、可移植、解释执行、健壮、安全、高性能、多线程和动态。下面给出详细解释。

1.简单

Java的设计目标之一就是能够方便学习,使用简单。因为当初C++程序员很多,介绍C++语言的书籍也很多,所以Java语言的风格设计成为类似于C++的语言风格,但Java摒弃了C++中容易引发程序错误的地方,如指针、内存管理、运算符重载和多继承等。一方面,C++程序员可以很快迁移到Java;另一方面,没有编程经验的初学者也能很快学会Java。

2.面向对象

面向对象是Java最重要的特性。Java是彻底的、纯粹的面向对象语言,在Java中“一切都是对象”。Java完全具有面向对象的三个基本特性:封装、继承和多态,其中封装性实现了模块化和信息隐藏,继承性实现了代码的复用,用户可以建立自己的类库。而且Java采用的是相对简单的面向对象技术,去掉了多继承等复杂的概念,只支持单继承。

3.分布式

Java语言就是为分布式系统而设计的。JDK(Java Development Kits,Java开发工具包)中包含了支持HTTP和FTP等基于TCP/IP的类库。Java程序可以凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。

4.结构中立

Java程序需要在很多不同网络设备中运行,这些设备有很多不同类型的计算机和操作系统。为使Java程序能够在网络的任何地方运行,Java编译器编译生成了与机器结构(CPU和操作系统)无关的字节码(byte-code)文件。任何种类的计算机,只要可以运行Java虚拟机,字节码文件就可以在该计算机上运行。

5.可移植

体系结构的中立也使得Java程序具有可移植性。针对不同的CPU和操作系统,Java虚拟机有不同的版本,这样就可以保证相同的Java字节码文件可以移植到多个不同的平台上运行。

6.解释执行

为实现跨平台,Java设计成为解释执行的,即Java源代码文件首先被编译成为字节码文件,这些字节码本身包含了许多编译时生成的信息,在运行时Java解释器负责将字节码文件解释成为特定的机器码运行。

7.健壮

Java语言是强类型语言,它在编译时进行代码检查,使得很多错误能够在编译期被发现,不至于在运行期发生而导致系统崩溃。

Java摒弃了C++中的指针操作,指针是一种强大的技术,能够直接访问内存单元,但同时也很复杂,如果指针操控不好,会导致内存分配错误、内存泄漏等问题。而Java中则不会出现由指针所导致的问题。

在内存管理方面,C/C++等语言采用手动分配和释放内存,经常会导致内存泄漏,从而导致系统崩溃。而Java采用自动内存垃圾回收机制,程序员不再需要管理内存,从而减少了内存错误的发生,提高了程序的健壮性。

8.安全

在Java程序执行过程中,类装载器负责将字节码文件加载到Java虚拟机中,这个过程中由字节码校验器检查代码中是否存在着非法操作。如果字节码校验器检验通过,由Java解释器负责把该字节码解释成为机器码进行执行,这种检查可以防止木马病毒。

另外,Java虚拟机采用的是“沙箱”运行模式,即把Java程序的代码和数据都限制在一定内存空间里执行,不允许程序访问该内存空间外的内存。

9.高性能

Java编译器会在编译时对字节码进行一些优化,使之生成高质量的代码。Java字节码格式就是针对机器码转换而设计的,实际转换时相当简便。Java在解释运行时采用一种即时编译技术,可使Java程序的执行速度显著提升。经过多年的发展,Java虚拟机也有很多改进,这也使得Java程序的执行速度有很大提升。

10.多线程

Java是为网络编程而设计的,这要求Java能够并发处理多个任务。Java支持多线程编程,多线程机制可以实现并发处理多个任务,互不干涉,不会由于某一任务处于等待状态而影响了其他任务的执行,这样就可以容易地实现网络上的实时交互操作。

11.动态

Java应用程序在运行过程中可以动态地加载各种类库,即使更新类库也不必重新编译使用这一类库的应用程序。这一特点使之非常适合在网络环境下运行,同时也非常有利于软件的开发。