Java 到底是一种什么样的语言呢?Java 是一种简单的、面向对象的、分布式的、健壮的、结构中立的、安全的、类装载的、可移植的、解释的、性能很优异的、多线程的和动态的语言。
1.简单
Java 最初是为家用电器进行集成控制而设计的一种语言,因此它必须简单明了。
Java 语言的简单性主要体现在以下几个方面:
➢ Java 的风格类似于C++,因而C++程序员是非常熟悉的。从某种意义上讲,Java语言是C 及C++语言的一个变种,因此,C++程序员可以很快就掌握Java 编程技术。
➢ Java 摒弃了C++中容易引发程序错误的地方,如指针和内存管理。
➢ Java 提供了丰富的类库。
2.面向对象
面向对象可以说是Java 最重要的特性。Java 语言的设计完全是面向对象的。Java 支持静态和动态风格的代码继承及重用。单从面向对象的特性来看,Java 类似于SmallTalk,但分布式计算环境的特性远远超越了SmallTalk。
3.分布式
Java 包括一个支持HTTP 和FTP 等基于TCP/IP 协议的类库。因此,Java 应用程序可凭借URL 打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。
4.健壮
Java 致力于检查程序在编译和运行时的错误。类型检查可以检查出许多开发早期出现的错误。Java 自己操纵内存,减少了内存出错的可能性。Java 还实现了真数组,避免了覆盖数据的可能。这项功能大大缩短了开发Java 应用程序的周期。
5.结构中立
为了建立Java 作为网络的一个整体,Java 将它的程序编译成一种结构中立的中间文件格式。只要有Java 运行系统的机器都能执行这种中间代码。现在,Java 运行系统有Solaris2.4(SPARC),Win32 系统(Windows95 和WindowsNT)等。Java 源程序被编译成一种高层次的与机器无关的字节码byte-code 格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器执行。
6.安全(www.daowen.com)
Java 的安全性可从两个方面得到保证。一方面,在Java 语言里,像C++中的指针和释放内存等功能被删除,避免了非法操作内存。另一方面,当Java 用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。Java 语言在机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,检测对象操作是否过分以及试图改变一个对象的类型。
7.类装载
ClassLoader 通过将本机类与网络资源类的名称分开,来保持安全性。因为装载类时总要经过检查,这样避免了特洛伊木马现象的出现。从网络上下载的类被调进一个与源相关的私有的名字域。当一个私有类访问另一个类时,build-in(本机类)首先被检查,然后检查相关的类。这样就避免了破坏本机类情况的出现。
8.可移植
同体系结构无关的特性使得Java 应用程序可以在配备了Java 解释器和运行环境的任何计算机系统上运行,这成为Java 应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,将给程序的移植带来很大不便。例如在Windows3.1 中整数(Integer)为16 bits,在Windows95 中整数为32 bits,在DECAlpha 中整数为64 bits,在Intel486 中为32 bits。通过定义独立于平台的基本数据类型及其运算,Java 数据得以在任何硬件平台上保持一致。
在任何Java 解释器中,数据类型都是依据以上标准具体实现的。因为目前使用的所有CPU 都能支持以上数据类型、8~64 位整数格式的补码运算和单/双精度浮点运算。Java编译器本身就是用Java 语言编写的。
9.解释的
Java 解释器(运行系统)能直接运行目标代码指令。链接程序通常比编译程序所需资源少,所以程序员可以在创建源程序上花上更多的时间。
10.高性能
如果解释器速度较快,Java 可以在运行时直接将目标代码翻译成机器指令。用解释器,1 秒钟内可调用300 000 个过程。翻译目标代码的速度与C/C++的性能没什么区别。
11.多线程
Java 的多线程功能使得在一个程序里可同时执行多个小任务。线程有时也称小进程,是一个大进程里分出来的小的独立的进程。因此Java 实现的多线程技术比C 和C++更健壮,多线程带来的更大的好处是更好的交互性能和实时控制性能。当然实时控制性能还取决于系统本身(UNIX,Windows,Macintosh 等),在开发难易程度和性能上都比单线程要好。任何用过当前浏览器的人,都感觉为调一幅图片而等待是一件很烦恼的事情。在Java 里,可用一个线程来调一幅图片,还可以访问HTML 里的其他信息而不必等待。
12.动态
Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。