Java语言的特点

如题所述

Java
语言特点

Java
是一种跨平台,适合于分布式计算环境的面向对象编程语言。

具体来说,它具有如下特性:

简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线
程、动态性等。

下面我们将重点介绍
Java
语言的面向对象、平台无关、分布式、多线程、可靠和安全
等特性。

1.
面向对象

面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对
象之间通过消息相互作用。
另外,
现实世界中任何实体都可归属于某类事物,
任何对象都是
某一类事物的实例。
如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,
面向
对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序
=
算法
+
数据;面向对象编程语言为:程序
=
对象
+
消息。

所有面向对象编程语言都支持三个概念:
封装、
多态性和继承,
Java
也不例外。
现实世
界中的对象均有属性和行为,
映射到计算机程序上,
属性则表示对象的数据,
行为表示对象
的方法(其作用是处理数据或同外界交互)
。所谓封装,就是用一个自主式框架把对象的数
据和方法联在一起形成一个整体。
可以说,
对象是支持封装的手段,
是封装的基本单位。
Java
语言的封装性较强,因为
Java
无全程变量,无主函数,在
Java
中绝大部分成员是对象,
只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,
Java
也提供了相应的
对象类型以便与其他对象交互操作。

多态性就是多种表现形式,
具体来说,
可以用

一个对外接口,
多个内在实现方法

表示。
举一个例子,
计算机中的堆栈可以存储各种格式的数据,
包括整型,
浮点或字符。
不管存储
的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,
只需使用统一接口名,
系统可自动选择。
运算符重载

operatoroverload)
一直被认为是一
种优秀的多态机制体现,但由于考虑到它会使程序变得难以理解,所以
Java
最后还是把它
取消了。

继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有
继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车
等。这些子实体都具有汽车的特性,因此,汽车是它们的

父亲

,而这些子实体则是汽车的

孩子


Java
提供给用户一系列类(
class


Java
的类有层次结构,子类可以继承父类的
属性和方法。与另外一些面向对象编程语言不同,
Java
只支持单一继承。

2

平台无关性

Java
是平台无关的语言是指用
Java
写的应用程序不用修改就可在不同的软硬件平台上
运行。平台无关有两种:源代码级和目标代码级。
C

C++
具有一定程度的源代码级平台
无关,表明用
C

C++
写的应用程序不用修改只需重新编译就可以在不同平台上运行。

Java
主要靠
Java
虚拟机(
JVM
)在目标码级实现平台无关性。
JVM
是一种抽象机器,
它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但
JVM
通常是在软件上而不是在硬件上实现。
(目前,
SUN
系统公司已经设计实现了
Java

片,主要使用在网络计算机
NC
上。

另外,
Java
芯片的出现也会使
Java
更容易嵌入到家用电器中。

JVM

Java
平台无
关的基础,在
JVM
上,有一个
Java
解释器用来解释
Java
编译器编译后的程序。
Java

程人员在编写完软件后,
通过
Java
编译器将
Java
源程序编译为
JVM
的字节代码。
任何一
台机器只要配备了
Java
解释器,就可以运行这个程序,而不管这种字节码是在何种平台上

生成的。另外,
Java
采用的是基于
IEEE
标准的数据类型。通过
JVM
保证数据类型的一致
性,也确保了
Java
的平台无关性。

Java
的平台无关性具有深远意义。
首先,
它使得编程人员所梦寐以求的事情
(开发一次
软件在任意平台上运行)变成事实,这将大大加快和促进软件产品的开发。其次
Java
的平
台无关性正好迎合了

网络计算机

思想。
如果大量常用的应用软件(如字处理软件等)
都用
Java
重新编写,
并且放在某个
Internet
服务器上,
那么具有
NC
的用户将不需要占用大量
空间安装软件,他们只需要一个

Java
解释器,
每当需要使用某种应用软件时,
下载该软件的字节代码即可,
运行结果也
可以发回服务器。
目前,
已有数家公司开始使用这种新型的计算模式构筑自己的企业信息系
统。

3

分布式

分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操
作分布是指把一个计算分散在不同主机上处理。

Java
支持
WWW
客户机
/
服务器计算模式,
因此,
它支持这两种分布性。
对于前者,
Java
提供了一个叫作
URL
的对象,
利用这个对象,
你可以打开并访问具有相同
URL
地址上的对
象,访问方式与访问本地文件系统相同。对于后者,
Java

applet
小程序可以从服务器
下载到客户端,即部分计算在客户端进行,提高系统执行效率。

Java
提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现
Java
的分布式特性。

4

可靠性和安全性

Java
最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。
Java
虽然源于
C++
,但它消除了许多
C++
不可靠因素,可以防止许多编程错误。首先,
Java
是强类型
的语言,
要求显式的方法声明,
这保证了编译器可以发现方法调用错误,
保证程序更加可靠;
其次,
Java
不支持指针,这杜绝了内存的非法访问;第三,
Java
的自动单元收集防止了内
存丢失等动态内存分配导致的问题;第四,
Java
解释器运行时实施检查,可以发现数组和
字符串访问的越界,最后,
Java
提供了异常处理机制,程序员可以把一组错误代码放在一
个地方,这样可以简化错误处理任务便于恢复。

由于
Java
主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保
证,用户从网络下载程序执行就非常危险。
Java
通过自己的安全机制防止了病毒程序的产
生和下载程序对本地系统的威胁破坏。当
Java
字节码进入解释器时,首先必须经过字节码
校验器的检查,然后,
Java
解释器将决定程序中类的内存布局,随后,类装载器负责把来
自网络的类装载到单独的内存区域,
避免应用程序之间相互干扰破坏。
最后,
客户端用户还
可以限制从网络上装载的类只能访问某些文件系统。

上述几种机制结合起来,使得
Java
成为安全的编程语言。

5

多线程

线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行
的单位。

C

C++
采用单线程体系结构,而
Java
却提供了多线程支持。

Java
在两方面支持多线程。一方面,
Java
环境本身就是多线程的。若干个系统线程运
行负责必要的无用单元回收,系统维护等系统级操作;另一方面,
Java
语言内置多线程控
制,
可以大大简化多线程应用程序开发。
Java
提供了一个类
Thread

由它负责启动运行,

终止线程,并可检查线程状态。
Java
的线程还包括一组同步原语。这些原语负责对线程实
行并发控制。利用
Java
的多线程编程接口,开发人员可以方便得写出支持多线程的应用程
序,提高程序执行效率。必须注意地是,
Java
的多线程支持在一定程度上受运行时支持平
台的限制。
例如,
如果操作系统本身不支持多线程,
Java
的多线程特性可能就表现不出来。

二、
Java
小程序和应用程序


Java

















JavaApplet







JavaApplication


小程序是嵌入在
HTML
文档中的
Java
程序;

Java
应用程序是从
命令行运行的程序。

Java
而言,
Java
小程序的大小和复杂性都没有限制。
事实上,
Java
小程序有些方面比
Java
应用程序更强大。但是由于目前
Internet
通讯速度有限,因此大
多数小程序规模较小。小程序和应用程序之间的技术差别在于运行环境。

Java
应用程序运行在最简单的环境中,它的唯一外部输入就是命令行参数。另一方面,
Java
小程序则需要来自
Web
浏览器的大量信息:它需要知道何时启动,何时放入浏览器
窗口,
何处,
何时激活关闭。
由于这两种不同的执行环境,
小程序和应用程序的最低要求不
同。

由于
WWW
使小程序的发布十分便利,
因此小程序更适合作为
Internet
上的应用程序。
相反,非网络系统和内存较小的系统更适合用
Java
应用程序而较少用
Java
小程序实现。
另外,
Java
应用程序也很容易以
Internet
为基础环境,
事实上有些优秀的
Java
应用程序
正是如此。

-----来自百度文库
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-14
主要特点:
1. 跨平台性
所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这些不同的环境里正常运行,就需要独立于这些平台。
而在Java语言中, Java自带的虚拟机很好地实现了跨平台性。 Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Java虚拟机识别的一种机器码指令。 Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。

2. 面向对象
面向对象是指以对象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。

3. 安全性
安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。运行时Java类需要类加载器载入,并经由字节码校验器校验之后才可以运行。 Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。

4. 多线程
多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处e5a48de588b6e799bee5baa631333337613831理。 Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。

5. 简单易用
Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。
第2个回答  2020-04-27
java安全性强、兼容性高而且适应性强,受到很多的关注和喜爱,市面上60%的需求度都是Java的人才,那么对于求职者来说掌握Java是一个好的敲门砖,搭配你丰富的实战经验,高薪根本不是问题,那么最重要的就是自己到底适不适合了,可以来我们的试听一下,了解自己适不适合
第3个回答  2019-12-21
我只是想简单说一下自己的感觉,之前在北京尚学堂培训过,所以说下自己的见解
1.Java几乎什么都可以做,覆盖了绝大多数主流平台,如果有什么需求,往往用这一门语言就可以解决。
2.Java格式工整,结构也好,阅读性很好,再配合不错的注释习惯,开发团队可以自由伸缩。
3.Java资源丰富,可以轻松取得很好的前人研究和开发成果,迅速达成目的和吸取经验。
4.Java语言的开发工具都很不错,使用方便舒适,很多都是免费的,实在是福音。
5.Java语言还在发展,不断完善。
第4个回答  2017-02-17
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。
Java稳定,应用广泛,一定时期内很难被其他编程语言取代;而许多大型系统都是用java开发,也不可能轻易使用其他语言待遇,所以java的前景应该是稳定而光明的。本回答被网友采纳
相似回答