Java的特点,了解java到底可以应用…

简单地说,Java 具有如下特点:简单的、面向对象的、平台无关的、多线程的、安全的、高效的、健壮的、动态的等特点。

 

1、简单的

 

简单是指Java既易学又好用。不要将简单误解为这门编程语言很干瘪。你可能很赞同这样的观点:英语要比阿拉伯语言容易学。但这并不意味着英语就不能表达丰富的内容和深刻的思想,许多荣获诺贝尔文学奖的作品都是用英文写的。如果你学习过C++,你会感觉Java很眼熟,因为Java中许多基本语句的语法和C++一样,像常用的循环语句、控制语句等和C++几乎一样,

但不要误解为Java是C++的增强版,   Java和C++是两种完全不同的编程语言,它们各有各的优势,将会长期并存下去,Java和C++已成为软件开发者应当掌握的编程语言。如果从语言的简单性方面看,Java要比C++简单,C++中有许多容易混淆的概念,或者被Java弃之不用了,或者以一种更清楚更容易理解的方式实现,例如,  Java不再有指针的概念。

 

2、面向对象的

 

面向对象是指以对象为基本粒度,其 下包含属性和方法。对象的说明用属性表  达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发 变得简单易用,节省代码。基于对象的编程更符合人的思维模式,使人们更容易编写程序。Java是一种面向对象的语言,也继承了面向

对象的诸多好处,如代码扩展、代码复用等。我们将在以 后的章节中详细地讨论类、对象等概念。

 

3、平台无关的

 

与平台无关是Java最大的优势。其他语言编写的程序面临的一个主要问题是:操作系统的变化,处理器升级以及核心系统资源的变化,都可能导致程序出现错误或无法运行。而用  Java写的程序不用修改就可在不同的软硬件平台上运行。这样就能实现同样的程序既可以在Windows下运行,到了 Unix或者  Linux环境不用修改就直接可以运行了。Java  主要靠   Java虚拟机(JVM)实现平台无关性。平台无关性就是一次编写,到处运行:          Write  Once, RunAnywhere。

 

4、多线程的

 

Java实现了内置对多线程的支持。多线程允许同时完成多个任务。实际上多线程使人产生多个任务在同时执行的错觉,因为,目前的计算机的处理器在同一时刻只能执行一个线程,但处理

器可以在不同的线程之间快速 地切换,由于处理器速度非常快,远远超过了人接收信息的速度,所以给人的感觉好像多个任务在同时执行。C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计。

 

 

5、安全的

 

安全性可以分为四个层面,即编译、类装载、字节码校验、沙箱机制。

 

6、高效的

 

高级语言程序必须转换为机器语言程序才能执行,但不同的计算机系统所使用的机器语言不同。Java为了实现“一次编译,随处运行”的目标,Java 的源程序在编译时,并不直接编译成特定的机器语言程序,而是编译成与系统无关的字节码,由     Java虚拟机(JVM)来执行。当JVM解释执行  Java程序时,Java实时编译器(Just-In-Time,JIT)会将字节码译成目标平台对应

的机器语言的指令代码。早先的许多尝试解决  跨平台的方案对性能要求都很高。其他解释执行的语言系统,如BASIC、PERL都有无法克服的性能缺陷。然而,Java却可以在非常低档的           

CPU上顺畅运行,这是因为 Java字节码是经过精心设计的,能够直接使用  JIT编译技术将 字节码转换成高性能的本机代码。事实上,Java的运行速度随着      JIT编译器技术的发展已 接近于 C++。

 

7、健壮的

 

Java是健壮的语言。为了更好地理解  Java的健壮性,先讨论一下在传统编程环境下程序设计失败的主要原因:内存管理错误和误操作引起的异常或运行时异常。在传统的编程环境下,内存管理是一项困难、乏味的工作。例如,在 C或C++中,必须手工分配、释放所有的动态内存。如果忘记释放原来分配的内存,或是释放了其他程序正在使用的 内存时,

就会出错。在传统的编程环境下,异常情况可能经常由“被零除”、“  Null指针操作”、“文件未找到”等原因引起,必须用既繁琐又难理解的一大堆指令来进行管理。对此,Java通过自行管理内存分配和释放,从根本上消除了有关内存的问题。Java提供垃圾收集器,可自动收集闲置对象占用的内存。通过提供面向对象的异常处理机制来解决异常处理

的问题。通过类型检查、Null指针检测、数组边界检测等方法,在开发早期发现程序错误。

 

8、动态的

 

Java 语言具有动态特性。  Java动态特性是其面向对象设计 方法的扩展,允许程序动态地装入运行过程中所需的类,这是 C++ 进行面向对象程序设计所无法实现的。C++ 程序设计过程中,每当在类中增加一个实例变量或一种成员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩溃。

 

你可能感兴趣的:(编程程序员教材)