主要特性

  Java语言很简单:

  Java语言的语法非常接近C语言和C语言,使得大部分程序员都很容易学习和使用。另一方面,Java抛弃了C语言中那些很少使用、很难理解、容易混淆的特性,比如运算符重载、多重继承、自动强制类型转换等。特别是,Java语言不使用指针,而是使用引用。并提供自动垃圾收集,让程序员不用担心内存管理。

  Java语言是面向对象的:

  Java语言提供类、接口、继承等原语。为了简单起见,只支持类之间的单继承,支持接口之间的多继承,支持类和接口之间的实现机制(关键词是implements)。Java语言完全支持动态绑定,C语言只对虚函数使用动态绑定。总之,Java语言是一种纯面向对象的编程语言。

  Java语言是分布式的:

  Java语言支持互联网应用的开发。在基本的Java应用编程接口中,有一个网络应用编程接口(java net),它为网络应用编程提供了一个类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

  Java语言非常健壮:

  Java强大的类型化机制,异常处理,自动垃圾回收等。是Java程序健壮性的重要保证。丢弃指针是Java的明智选择。Java的安全检查机制使得Java更加健壮。

  Java语言是安全的:

  网络环境中通常使用Java,因此Java提供了一种安全机制来防止恶意代码的攻击。除了Java语言的很多安全特性之外,Java还有一个针对通过网络下载的类的安全机制(ClassLoader),比如分配不同的命名空间以避免替换同名的本地类和字节码检查,以及为Java应用提供一个安全管理机制(class SecurityManager)来设置安全岗哨。

  Java语言是体系结构中立的:

  Java程序(带后缀Java的文件)在Java平台上编译成体系结构无关的字节码格式(带后缀类的文件),然后可以在任何实现这个Java平台的系统上运行。该方法适用于异构网络环境和软件分发。

  Java语言是可移植的:

  这种可移植性来自于架构的中立性。此外,Java还严格规定了每个基本数据类型的长度。Java系统本身也很便携,Java编译器用Java实现,Java的运行环境用ANSI C实现。Java语言是解释性的:

  前面提到过,Java程序在Java平台上编译成字节码格式,然后可以在任何实现这个Java平台的系统上运行。在运行时,Java平台中的Java解释器解释并执行这些字节码,执行过程中需要的类在连接阶段加载到运行时环境中。

  Java高性能:

  与那些解释性的高级脚本语言相比,Java确实是高性能的。事实上,随着准时制编译技术的发展,Java的运行速度越来越接近于C语言.

  Java语言是多线程的:

  在Java语言中,thread是一个特殊的对象,必须由Thread类或其子类创建。创建一个Thread通常有两种方式:一种是利用Thread(Runnable)的构造函数将实现Runnable接口的对象包装成一个线程;另一种方法是从thread类派生一个子类,并覆盖run方法,使用这个子类创建的对象就是一个线程。值得注意的是,Thread类实现了Runnable接口,所以任何线程都有自己的run方法,run方法包含线程要运行的代码。线程的活动由一组方法控制。Java语言支持多线程同时执行,并提供了多线程之间的同步机制(关键字是synchronized)。

  Java语言是动态的:

  Java语言的设计目标之一就是适应动态环境。Java程序所需的类可以动态加载到运行环境中,也可以通过网络加载。这也有利于软件的升级。另外,Java中的类有一个运行时表示,可以检查运行时的类型。