Java的特点

Sun公司对Java特点的描述为:
简单、面向对象、可移植性、高性能、分布式、动态特性、健壮性和安全性
“捡 对(儿) 高职 高分 太安”
下面具体来解释

  1. 简单
    Java系统所占空间很小,语言风格类似C++

  2. 面向对象
    纯面向对象,不支持面向过程 任何实体都可以看成对象 程序是对象的集合;
    对象是有类型的(class)
    对象中封装了属性和行为,实现了模块化
    类提供了一类对象的原型,并且可以实现继承

  3. 可移植
    可移植是指不经过修改就能在不同的硬件或软件平台上运行。 可移植性分为两个层次:源代码的可移植性和二进制代码的可移植性。C C++只能进行源代码级别上的可移植,需要在不同的平台上进行编译。 但Java的二进制字节码文件也是可以移植的。
    Java主要用两种机制俩保证可移植性。
    一是,Java既是编译型的,又是解释型的。Java语言与传统语言的不同运行机制是,传统语言是编译后得到目标代码是为某个特定的操作系统生成的,所以不能移植;而Java的源程序经过编译得到字节码文件,在Java的虚拟机JVM上运行。JVM在任何平台上都提供给Java程序共同的接口。
    二是,Java采用IEEE的标准的数据类型,数据类型在任何机器上都是一致的,而且规定同一种数据类型在所有实现中都必须占据相同的空间,而C++的数据类型往往与操作系统有关。
    此外,Java的可移植性还体现在Java的运行环境上。Java编译器本身就是用Java写的。

  4. 高性能
    Java采取了一些措施来弥补解释性语言的性能差距,包括:
    (1) 高效的字节码 字节码格式很简单,很容易得到机器代码 字节码的执行效率就已经非常高了
    (2)多线程。 C C++不支持多线程,但是Java完全支持多线程。体现在两个方面,首先,Java环境本身就是多线程的,可以利用系统的空闲时间进行垃圾回收等;其次,Java提供了对多线程的语言级支持,提供多线程编程接口。
    (3) 及时编译 以及嵌入C代码 及时编译是指在运行时把字节码编译成机器码;嵌入C代码效率自然是高的,但是开发复杂度增加

  5. 分布式
    分布式的概念体现在数据分布和操作分布两个方面。数据分布指数据可以分散存放于网络上不同的主机上;操作分布则是把计算分散到不同的主机上进行。
    Java是面向网络的,可以容易的处理TCP、IP协议。对于操作分布,Java的client/server模式可以把计算从服务端分布到客户端。

  6. 动态特性
    “滞后联编”也就是动态链接。每个类编译后都分别对应着一个字节码文件。一个字节码系统由若干字节码文件组成,运行时,字节码文件按程序运行的需要动态加载。因此,一个类修改后只需要重新编译这一个类就可以了

  7. 健壮性和安全性
    Java提供了一系列安全检查机制。
    (1)去掉了C++中的很多概念:
    不支持由小的类型隐式转化为大的类型,除非明确指出;比如,不能默认由long转化为Int;
    不支持指针类型;
    数组下标越界会检查;
    有完善的异常处理机制;
    内存自动垃圾收集。
    (2)编译检查。编译时检查表达式和参数类型的相容性;也会指出可能出现的异常
    (3)运行检查。 字节码进入解释器时,会再次检查字节码,防止正确的字节码在解释执行前遭到改动; Java解释器决定程序中类的内存布局,其他人无法预知类的布局;文件访问有限制;网络接口级可以设置网络访问权限。

猜你喜欢

转载自blog.csdn.net/BeforeEasy/article/details/83218500
今日推荐