2. 鲁棒并且安全
java语言在编译及运行程序时,都要进行严格的检查 。作为一种强制类型语言,java在编译和连接时都进行大量的类型检查,防止不匹配问题的发生 。如果引用一个非法类型、或执行一个非法类型操作,java将在解释时指出该错误 。在java程序中不能采用地址计算的方法通过指针访问内存单元,大大减少了错误发生的可能性;而且java的数组并非用指针实现,这样就可以在检查中避免数组越界的发生 。无用内存自动回收机制也增加了Java的鲁棒性 。
作为网络语言,java必须提供足够的安全保障,并且要防止病毒的侵袭 。java在运行应用程序时 , 严格检查其访问数据的权限,比如不允许网络上的应用程序修改本地的数据 。下载到用户计算机中的字节代码在其被执行前要经过一个核实工具,一旦字节代码被核实,便由java解释器来执行,该解释器通过阻止对内存的直接访问来进一步提高java的安全性 。同时java极高的鲁棒性也增强了Java的安全性 。
3. 结构中立并且可以移植
网络上充满了各种不同类型的机器和操作系统,为使java程序能在网络的任何地方运行,java编译器编译生成了与体系结构无关的字节码结构文件格式 。任何种类的计算机 , 只有在其处理器和操作系统上有java运行时环境,字节码文件就可以在该计算机上运行 。即使是在单一系统的计算机上 , 结构中立也有非常大的作用 。随着处理器结构的不断发展变化 , 程序员不得不编写各种版本的程序以在不同的处理器上运行,这使得开发出能够在所有平台上工作的软件集合是不可能的 。而使用Java将使同一版本的应用程序可以运行在所有的平台上 。
体系结构的中立也使得java系统具有可移植性 。java运行时系统可以移植到不同的处理器和操作系统上,java的编译器是由java语言实现的,解释器是由Java语言和标准C语言实现的,因此可以较为方便的进行移植工作 。
1.2.4 Java语言的特点(2)
4. 高性能
虽然java是解释执行的 , 但它仍然具有非常高的性能,在一些特定的CPU上,java字节码可以快速的转换成为机器码进行执行 。而且java字节码格式的设计就是针对机器码的转换,实际转换时相当简便,自动的寄存器分配与编译器对字节码的一些优化可使之生成高质量的代码 。随着java虚拟机的改进和"即时编译"(just in time)技术的出现使得Java的执行速度有了更大的提高 。
5. 解释执行、多线程并且是动态的
如果你了解C语言和C++语言,可以参考下列Java与C/C++语言的比较,如果不了解C语言和C++语言,可以忽略本部分知识 。
a. 全局变量
Java程序不能定义程序的全局变量,而类中的公共、静态变量就相当于这个类的全局变量 。这样就使全局变量封装在类中,保证了安全性,而在C/C++语言中,由于不加封装的全局变量往往会由于使用不当而造成系统的崩溃 。
b. 条件转移指令
C/C++语言中用goto语句实现无条件跳转,而Java语言没有goto语言,通过例外处理语句try、catch、finally来取代之,提高了程序的可读性,也增强了程序的鲁棒性 。
c. 指针
指针是C/C++语言中最灵活,但也是最容易出错的数据类型 。用指针进行内存操作往往造成不可预知的错误,而且,通过指针对内存地址进行显示类型转换后,可以类的私有成员,破坏了安全性 。在java中,程序员不能进行任何指针操作 , 同时Java中的数组是通过类来实现的 , 很好的解决了数组越界这一C/C++语言中不做检查的缺点 。
推荐阅读
- 水军直播文案的简单介绍
- 怎么下载歌曲在硬盘里面,怎么下载歌曲到移动硬盘
- javascript是什么样技术,javascript干什么的
- 孩子益智类体能游戏,孩子益智类体能游戏教案
- python交叉熵函数 numpy 交叉熵
- 包含asp.net于海涛的词条
- pdf转ai如何分层,pdf如何转成ai文件
- 微信下载官方,微信下载官方免费下载2020
- 比较大小函数的定义c语言 c语言中比较大小的函数