什么是Java
Java是门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java的优点
1.简洁有效
Java语言是种相当简洁的“面向对象”程序设计语言。Java语言省略了C++语言中所有的难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类等。它更加严谨、简洁。
2.高可移植性
对于个程序员而言,写出来的程序如果不需修改就能够同时在Windows、MacOS、LINUX等平台上运行,简直就是美梦成真的好事!而Java语言就让这个原本遥不可及的事离我们越来越近。使用Java语言编写的程序,只要做较少的修改,甚至有时根本不需修改就可以在不同平台上运行了,Java绝对是跨平台的门编程语言。
举个例子,不同平台上对数据类型的大小有不同的规定。在有的平台上,整型(int)是用个16位二进制数表示,而有的平台上则是使用个32位二进制数表示的。C/C++语言并没有屏蔽掉这个由不同平台造成的不同。这样如果在个使用16位二进制数表示整型的平台上开发的C语言源程序,要在个使用32位二进制数表示整型的平台上运行,简直就是噩耗。
而在Java语言中,就屏蔽掉了这种由平台造成的不同。Java中的整型数是定是由32位二进制表示的,Java虚拟机将这个差别消化了。当我们想将个使用16位二进制数表示整型的平台上开发的Java语言源程序,移植到个使用32位二进制数表示整型的平台上运行,就不用修改了。
3.“面向对象”
可以这么说,“面向对象”是软件工程学的次革命,大大提升了人类的软件开发能力,是个伟大的进步,是软件发展的个重大的理程碑。
在过去的30年间,“面向对象”有了长足的发展,充分体现了其价值,到现在已经形成了“面向对象的系统分析”、“面向对象的系统设计”、“面向对象的程序设计”个体系。所以做为个现代编程语言,是不能够偏离这方向的,Java语言也不例外。
4.解释型
解释型语言效率低,速度慢;编译型语言效率高,速度快。
Java语言是种解释型语言。对,没看错,它是种解释型语言,也就是说,相对于C/C++语言来说,Java语言写出来的程序效率低,执行速度慢。但它正是通过在不同平台上运行Java解释器,对Java代码进行解释,来实现“次编写,到处运行”的宏伟目标的。为了达到目标,牺牲效率还是值得的,再说,现在的计算机技术日新月异,运算速度也越来越快,用户不会感到太慢的。
5.适合分布式计算
Java语言具有强大的、易于使用的连网能力,非常适合开发分布式计算的程序。Java应用程序可以象访问本地文件系统那样通过URL访问远程对象。
使用Java语言编写Socket通信程序十分简单,使用它比使用任何其它语言都简单。而且它还十分适合于开发公共网关接口(CGI)脚本的开发,另外还可以使用Java小应用程序(Applet)、Java服务器页面(Java Server Page,简称JSP)、Servlet等等手段来构建更丰富的网页。
6.拥有较好的性能
正如前面说到,由于Java是种解释型语言,所以它的执行效率相对就会慢些,但由于Java语言采用了两种手段,使得其性能还是不错的。
1) Java语言源程序编写完成后,先使用Java伪编译器进行伪编译,将其转换为中间码(也称为字节码),再解释;
2) 提供了种“准实时”(Just-in-Time,JIT)编译器,在需要更快的速度时,可以使用JIT编译器将字节码转换成机器码,然后将其缓冲下来,这样速度就会更快。
7.健壮、防患于未然
Java语言在伪编译时,做了许多早期潜在问题的检查,并且在运行时来做了许多相应的检查,可以说是严格的种“编译器”。它的这种“防患于未然”的手段将许多程序中的错误扼杀在摇蓝之中。经常有许多在其它语言中必须通过运行才会暴露出来的错误,在编译阶段就被发现了。另外,在Java语言中还提供了许多保证程序稳定、健壮的特性,有效地减少了错误,这样使得Java应用程序更加健壮。
8.具有多线程处理能力
线程,是种轻量级进程,是现代程序设计中必不可少的种特性。多线程处理能力使得程序能够具有更好的交互性、实时性。Java在多线程处理方面性能超群,具有让你惊喜的强大功能,而且在Java语言中进行多线程处理很简单。
9.具有较高的安全性
由于Java语言在设计时,在安全性方面考虑很仔细,做了许多探究,使得Java语言成为目前安全的种程序设计语言。尽管Sun公司曾经许诺过:“通过Java可以轻松构建出防病毒、防黑客的系统”,但“世界上没有绝对的安全”这真理是不会因为某人的许诺而失灵验的。就在JDK (Java Development Kit)1.0发布不久后,美国Princeton(普林斯顿)大学的组安全专发现了Java 1.0安全特性中的第例错误。从此,Java安全方面的问题开始被关注。不过至今所发现的安全隐患都很微不足道,而且Java开发组还宣称,他们对系统安全方面的Bugs非常重视,会对这些被发现的进行立即修复。而且由于Sun公司开放了Java解释器的细节,所以有助于通过各界力量,共同发现、防范、制止这些安全隐患。
10.是种动态语言
Java是种动态的语言,这表示在以下两个方面:
1) 在Java语言中,可以简单、直观地查询运行时信息;
2) 可以将新代码加入到个正在运行的程序中去。
11.中性的对象语言
“Java编译器生成的是种中性的对象文件格式。”也就是说,Java编译器通过伪编译后,将生成个与任何计算机体系统无关的“中性”的字节码。这种中性结构其实并不是Java首创的,在Java出现之前UCSD Pascal系统就已在种商业产品中做到这点,另外在UCSD Pascal之前还有这种方式的先例,那就是Niklaus Wirth实现的Pascal语言中就采用了这种降低些性能,换取更好的可移植性和通用性的方法。Java的这种字节码经过了许多精心的设计,使得其能够很好地兼容于当今大多数流行的计算机体系统,可以在任何机器上易于解释,易于动态翻译成为机器代码。
评论