理论教育 Java语言的特点-《Java程序设计实用教程》

Java语言的特点-《Java程序设计实用教程》

时间:2023-11-21 理论教育 版权反馈
【摘要】:Java语言具有以下9个特点。为了实现平台无关性,Java语言规定了统一的基本数据类型。在网络环境下,Java语言编写的代码用于瘦客户机架构可减少维护工作。Java语言的这种自动废区收集机制,对程序不再引用的对象自动取消其所占资源,能够彻底避免出现存储器泄露之类的错误,并免去了程序员管理存储器的烦琐工作。

Java语言的特点-《Java程序设计实用教程》

Java语言具有以下9个特点。

1.简单性

人们希望构建一个无需专业训练就可以进行编程的系统,并且要符合当今的标准惯例。因此,尽管人们发现C++语言不太适用,但在设计Java的时候还是尽可能地接近C++,以便系统更易于理解。Java剔除了C++中很少使用、难以理解、易混淆的特性。例如,Java中没有指针、结构和类型定义等概念,没有#include和#define等预处理器,也没有多重继承的机制。

简单性的另一个含义是“小”。Java的目标之一是支持开发能够在小型机器上独立运行的软件。基本的解释器以及类支持大约仅为40KB,再加上基础的标准类库和对线程的支持(基本上是一个自包含的微内核),大约需要增加175KB。在当时,这是一个了不起的成就。当然,由于不断的扩展,类库已经相当庞大了。现在有一个独立的具有较小类库的Java微型版(Java Micro Edition)用于嵌入式设备。

2.面向对象性

Java是一个纯粹的面向对象的语言,强调的是面向对象的特性,对软件工程技术能够提供很强的支持。Java语言的设计集中于对象及其接口,它提供了简单的类机制及动态的接口模型。与其他面向对象的语言一样,Java具备继承、封装及多态性等特性,同时它还提供了一些类的原型,程序员可以通过继承机制实现代码的复用。另外,Java的继承机制非常独特,在设计时丢掉了不安全的因素,因此使用Java可以编制出非常复杂但逻辑清晰的系统。

3.分布式与安全性

从诞生之日起Java语言就与网络联系在一起,它强调网络特性,是一种分布式程序设计语言。Java语言包括一个支持HTTP和TCP等TCP/IP协议的子库,提供一个Java.net包,通过它可以完成各种层次上的网络连接。因此,用Java语言编写的应用程序可以凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。Java语言另一个Socket类提供的可靠流式网络连接,使程序设计者可以非常方便地创建分布式应用程序。

Java语言在语言定义阶段、字节码检查阶段及程序执行阶段进行的三级代码安全检查机制,对参数类型匹配、对象访问权限、内存回收、Java小应用程序的正确使用等都进行了严格的检查和控制,可以有效地防止非法代码的侵入,阻止对内存的越权访问,避免病毒的侵害。

4.与平台无关性

如果基本数据类型设计依赖于具体的计算机和操作系统,会给程序的移植带来很大的不便。Java语言通过定义独立于软硬件平台的基本数据类型及其相关运算,确保数据在任何硬件平台上保持一致。为了实现平台无关性,Java语言规定了统一的基本数据类型。

Java程序编译后生成二进制代码,即字节码。字节码就是虚拟机的机器指令,与平台无关。字节码有统一的格式,不依赖于具体的硬件环境。在任意安装了Java运行环境的系统中都可以执行这些代码。也就是说,只要安装了Java运行环境,Java程序就能在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台上运行。运行环境针对不同的处理器指令系统,把字节码转换成不同的具体指令,保证程序能够“到处运行”。(www.daowen.com)

5.编译和解释特性

Java开发环境把Java源程序编译后生成一种称为字节代码的中间代码,字节代码非常类似于机器指令代码,但并不是二进制的机器指令代码,而且字节代码并不针对一种特定的机器,所以Java程序不需重新编译便可在众多不同的计算机上执行。只要该机器预先装有Java语言运行系统,这就是Java的编译特性。Java程序编译后产生字节代码,其运行要借助于Java解释器,Java解释器直接对Java字节代码进行解释执行。以字节代码形式发布的Java程序运行在JVM环境,JVM将字节代码翻译成具体的CPU机器指令,因此,Java解释器是与软硬件平台有关的,在不同的平台上用不同的JVM实现(与平台相关部分的工作由JVM而不是Java编译器来完成,因为平台的种类比起应用软件的数量要少得多)。Java解释器使得Java程序在某一特定软硬件平台环境中直接运行目标代码指令,这种连接程序所需的资源通常比编译程序少,所以程序员可以将更多的时间用在创建源程序上,而不必考虑运行环境,这就是Java的解释特性。

6.多线程

多线程机制使得应用程序能够并行执行,通过使用多线程,程序设计者可以用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为和实时控制性能。

大多数高级语言(包括C、C++等)都不支持多线程,用这样的语言只能编写顺序执行的程序。Java内置了语言级多线程功能,提供现成的Thread类,只要继承这个类就可以编写多线程的程序,使得用户程序能够并行执行。Java提供的同步机制可以保证各线程对共享数据的正确操作,完成各自的特定任务。在硬件条件允许的情况下,这些线程可以直接分布到各个CPU上,充分发挥硬件性能,减少用户等待的时间。

7.动态执行

Java执行代码是在运行时动态载入的,这种动态特性使得它适合于一个不断发展的环境。在网络环境下,Java语言编写的代码用于瘦客户机架构可减少维护工作。另外,类库中增加的新方法和其他实例不会影响到原有程序的执行,并且Java语言通过接口来支持多重继承,使其比严格的类继承具有更灵活的方式和可扩展性

8.自动废区回收性

在用C及C++语言编写大型软件时,编程人员必须自己管理所用的内存块,这项工作非常困难且经常成为出错和内存不足的根源。在Java环境下编程人员不必为内存管理操心,Java语言系统有一个叫作“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。Java语言的这种自动废区收集机制,对程序不再引用的对象自动取消其所占资源,能够彻底避免出现存储器泄露之类的错误,并免去了程序员管理存储器的烦琐工作。

9.丰富的API文档和类库

Java为用户提供了详尽的API文档说明。Java开发工具包中的类库包罗万象、应有尽有,这使得程序员的开发工作可以在一个较高的层次上展开,这也正是Java广受欢迎的重要原因之一。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈