Java SE程序设计
上QQ阅读APP看书,第一时间看更新

1.3 Java的特点

Java具有入门简单、面向对象,跨平台、安全性、并发机制等一系列特点。

·跨平台性:依赖于Java独有的虚拟机机制,使得Java源程序经编译后形成的字节码不依赖于任何具体的平台,只要具有JRE(Java Runtime Environment),就可以经解释后执行。因此,Java程序具备“一次编译,到处运行”的跨平台特性。

·简单性:Java语言语法借鉴了C、C++的语法。但没有显式地运用指针、运算符重载、多重继承等难以理解的概念,并通过实现垃圾自动收集机制简化了程序设计者的内存管理工作。

·面向对象:Java语言是纯面向对象的编程语言,它实现了面向对象编程思想中的抽象、封装、继承及多态等基本特性。同时,它本身提供了强大丰富的系统类与接口包。

·解释执行:Java的设计者设计Java的主要目的,就是希望可以做到,“编写一次,到处运行”,Java源程序被编译成字节码,这种节码在任何Java运行环境中由Java虚拟机解释执行,这种方式保证了Java的与平台无关性和可移植性。解释执行与即时编译技术的完美结合,提供了相当高的运算性能。

·安全性:Java安全性包括语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性;编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值及编译后生成Java类;当Java源程序经过编译后形成的字节码被加载到内存后,Java解释器中的代码校验器对字节码的合法性进行检查,若发现有破坏Java安全性的操作,则给出错误信息并拒绝执行该程序;Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。

·健壮性:Java致力于检查程序在编译和运行时的错误,其类型检查可以检查出许多开发早期出现的错误;Java支持自动内存管理,减少了内存出错的可能性;Java采用对象数组并能检测数组边界,避免了覆盖数据的可能;基于异常(Exception)处理机制,在编译时,能揭示出可能出现但未被处理的异常,帮助程序员正确地进行选择,以防止系统的崩溃。

·多线程:Java支持用户编写包含多条执行线索的程序,每条执行线索对应一个线程,每个线程线程具有独立的任务,通过Java虚拟机的调度并发地完成多个任务。

·动态特性:Java的动态特性表现在两个方面:其一是在Java语言中,可以简单、直观地查询运行时的信息;其二是可以将新代码加入到一个正在运行的程序中。

·分布性:Java拥有广泛的能轻易地处理TCP/IP协议的运行库,这使得在Java中比在C或C++中更容易建立网络连接。Java应用程序可以借助URL通过网络开启和存取对象,就如同存取一个本地文件系统一样简单。