主要特性
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中的类有一个运行时表示,可以检查运行时的类型。