Java语言特点

来源:互联网 发布:网络大电影是什么 编辑:程序博客网 时间:2024/06/05 22:44

Java与C++语言相比,去掉了 C++语言的复杂性和二义性的成分,增加了安全性和可移植性的成分。Java语言具有如下特点:简单性、面向对象、平台无关性、可移植性、解释性、髙性能、动态性、可靠性和安全性、多线程、分布式处理等。下面将介绍Java语言的主要特点
     

 1.简单性


      Java系统精简,但功能齐备;语言风格类似于C + + ,但比C + +容易掌握,且摒弃了C++中容易引发程序错误的地方,如指针操作和内存管理;提供丰富的类库。


      2.面向对象


      Java语言是纯面向对象的语言,程序的结构由一个以上的类和(或)接口组成。程序的设计集中于类与对象、继承与接口上。通过继承机制,子类可以使用父类所提供的属性与方法,实现了软件代码的复用。


      3.平台无关性

      Java是平台无关的语言,是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C++%—定程度的源代码级平台无关,表明用C或C++写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java主要靠Java虚拟机(Java Virtual Machine, JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚拟机的机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。目前,SUN系统公司已经设计实现了 Java芯片,主要使用在网络计算机(NC)上。另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。


      4.可移植性


      Java应用程序可以在配备了 Java解释器和运行环境的任何计算机系统上运行,而与体系结构无关。


      5.解释性


      JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节码(Bytecode)。任何一台机器只要配备了 Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。Java程序的运行环境如下图所示。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,也确保了java的平台无关性。

 

      6高性能


      Java系统提供了 JIT(Just In Time)编译器,JIT能产生编译好的本地机器代码,以提髙Java代码的执行速度。


      7.动态性


      允许程序动态地装人运行过程中所需要的类。


      8.可靠性和安全性


      可靠性和安全性主要表现在下列几个方面:
      (1) Java编译器对所有的表达式和参数都要进行类型相容性的检查,以保证类型是兼容的。任何类型的不匹配都将被报告为错误而不是警告。在编译器完成编译以前,错误必须被改正过来。
      (2) Java不支持指针,这杜绝了内存的非法访问。
      (3) Java的自动单元收集防止了内存丢失等动态内存分配导致的问题。
      (4) Java解释器运行时实施检査,可以发现数组和宇符串访问的越界;Java提供了异常处理机制,以便从错误处理任务恢复。
      (5)由于Java主要用于网络应用程序的开发,因此对安全性有较髙的要求。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进人解释器时,首先必须经过字节码校验器的检查,然后Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏,最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。
上述几种机制结合起来,使得Java成为安全的编程语言。


      9.多线程


      Java提供的多线程机制使应用程序能够并发执行,提供的同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为。


      10.分布式处理


      分布式包括数据分i和操作分布。数据分布是指数据可以分散在网络的不同主机上f操作分布是指把一个计箅分散在不同主机上处理。Java支持WWW客户机/服务器计箅模式,因此,它支持以上两种分布性。对于前者,Java提供了一个叫做URL的对象,利用这个对象,可以访问Internet上的所有网络资源;对于后者,Java提供的基于流套接字的网络编程接口,为实现网络的应用和Web应用提供了方便。

链接:http://www.chinait8.net/tech/javabase/4137.html