位置:魔方格 > 计算机 > Java开发 > Java开发语言有哪些特点  正文

Java开发语言有哪些特点

发布时间:2022-02-11 10:00:33来源:魔方格

Java语言是适用于分布式计算环境的面向对象编程语言,它虽类似C和C++,但比C++简单,忽略了许多为提高计算效率,初学者较难掌握的程序语言特性。那么,Java开发语言有哪些特点

Java语言主要有以下特点:

1.强类型

Java语言是一种强类型语言,强类型能约束程序员必须遵守更多的编程规定,也能让编译器检测出程序中尽可能多的错误。

2.编译和解释

Java语言是一种编程语言,用Java语言编写的源程序在计算机上运行需经过编译和解释执行两个严格区分的阶段。Java语言的编译程序先将Java源程序翻译成机器无关的字节码(bytecode),不是通常的编译程序将源程序翻译成计算机的机器代码。运行时,Java的运行系统和链接需要执行的类,并作必要的优化后,解释执行字节码程序。

3.自动无用内存回收功能

Java语言具有自动无用内存回收功能,程序可以按需使用内存,但不需要对无用内存显式地撤销分配。系统有一个垃圾收集器(garbage collector),自动收集程序不再使用的内存。这样,能避免显式的撤销分配所引起的安全问题。Java语言不再含有任何不安全的语言成分。例如,没有指针,数组元素都要检查下标是否越界。

4.面向对象

面向对象是程序员编写大型程序、有效控制程序复杂性的重要手段。Java语言在面向对象方面,比C++更“纯”,它的所有数据类型,包括布尔类型、整形、字符型等,都有相应的类,程序可完全基于对象编写。

面向对象语言主要有封装性、继承性和多态性三个特点。封装就是将实现细节隐藏起来,只给出如何使用的信息。数据及数据上的操作用类封装,对象是类的实例,外界使用对象中的数据及可用的操作受到一定的限制。继承体现众多的一种层次对象的特性,下一层的类可从上一层的类继承定义,从上一层类派生的类的对象能继承上一层对象的特性,同时可以改变和扩充一些特性,以适应其自身的特点。多态性的意义主要体现在逻辑上相同的不同层次上的操作,使用相同的操作名,根据具体对象,能自动选择对应的操作。Java语言很实用地实现了这三种特性。

5.与平台无关

与平台无关是对程序可移植性较直接较有效的支持。Java语言的设计者在设计时重点考虑了Java程序的可移植性,采用多种机制来增加可移植性,其中较主要的是定义了一种虚拟机(virtual machine),以及虚拟机使用的java字节码。在任何平台上,Java源程序被Java编译器编译成虚拟机能够识别的字节码。这样,只要有Java虚拟机的平台,就能解释执行java字节码程序,从而实现Java与平台无关。另外,Java语言还采用基于国际标准的数据类

在任何平台上,同上种数据类型是一致的。例如,用int标识32位二进制位(bit)整型数据,那么无论在哪一台计算机上,Java的int数据都是32位整数。相反,C语言会随着硬软件平台的改变,用int标识的整数位数也可能不全相同。

Java语言提高可移植性的代价是降低程序的执行效率。出于java语言也是一种解释执行的语言,Java程序的执行速度与C程序的执行速度有较大的差别。不过,为了尽量弥补执行效率低的缺陷,java的字节码在设计上非常接近现代计算机的机器码,这有助于提高解释执行的速度。

6.安全性

Java是在网络环境中使用的编程语言,必须考虑安全性问题,主要有以下两个方面:设计的安全防范:Java语言没有指针,避免程序因为指针使用不当,访问不应该访问的内存空间;提供数组元素上标检测机制,禁止程序越界访问内存;提供内存自动回收机制,避免程序遗漏或重复释放内存。

运行安全检查:为了防止字节码程序可能被非法改动,解释执行前,先对字节码程序作检查,防止网络“黑客”对字节码程序已作了恶意改动,达到破坏系统的目的。较后,浏览器限制下载的小应用程序不允许访问本地文件,避免小应用程序破坏本地文件。

7.分布式计算

Java语言支持客户机/服务器计算模式。Java程序能利用URL对象,能访问网络上的对象,如同访问本地的文件一样,实现数据分布。另外,Java的客户机/服务器模式也可以把计算从服务器分散到客户机端,实现操作分布。

8.多线程

线程是比进程更小的一种可并发执行的单位,每个进程都有自己独立的内存空间和其他资源,当进程切换时需要进行数据和资源的保护与恢复。若干协同工作的线程可以共享内存空间和资源,线程切换不需要数据的保护与恢复。

Java的运行环境采用多线程实现,可以利用系统的空闲时间执行诸如内存回收等操作;Java语言提供语言级多线程支持,用Java语言能直接编写多线程程序。

南京哪里有Java开发培训机构
青岛Java开发培训班选哪个
石家庄Java开发课程哪家专业
中山达内Java开发培训班
洛阳Java开发培训机构哪个专业
南昌JAVA开发学习选哪个

相关内容: Java开发 Java开发语言 Java开发语言特点

同类文章