1.2 Java程序开发概述
Java是由Sun Microsystems公司于1995 年5 月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web和Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也在不断更新。
1.Java程序开发平台
Java平台由Java虚拟机(Java Virtual Machine)和Java应用编程接口(Application Programming Interface,API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统里。这样Java程序可以只编译一次,就可以在各种系统中运行。
Java分为三个体系:J2SE(Java2 Standard Edition)、J2EE(Java 2 Platform Enterprise Edition)和J2ME(Java 2 Micro Edition)。
2.Java发展历史
1995年5月23日,Java语言诞生。
1996年1月,第一个JDK-JDK1.0诞生。
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术。
1996年9月,约8.3万个网页应用了Java技术来。
1997年2月18日,JDK1.1发布。
1997年4月2日,JavaOne会议召开,参与者约1万人,开创了当时全球同类会议规模的纪录。
1997年9月,Java Developer Connection社区成员超过10万。
1998年2月,JDK1.1被下载超过200万次。
1998年12月8日,JAVA2企业平台J2EE发布。
1999年6月,Sun公司发布Java的3个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)。
2000年5月8日,JDK1.3发布。
2000年5月29日,JDK1.4发布。
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机。
2001年9月24日,J2EE1.3发布。
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升。
2004 年9 月30 日18:00PM,J2SE1.5 发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0。
2005年6月,JavaOne大会召开,Sun公司公开发Java SE 6。此时,Java的各种版本已经更名,取消了其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。
2006年12月,SUN公司发布JRE 6.0。
3.Java的优点
(1)Java语言是简单的
Java语言的语法与C语言和C++语言很接近,使大多数程序员很容易学习和使用Java。另一方面,Java语言丢弃了C++语言中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换等。特别是Java语言不使用指针,并提供了自动的废料收集,使程序员不必为内存管理而担忧。
(2)Java语言是面向对象的
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定。总之,Java语言是一个纯粹的面向对象程序设计语言。
(3)Java语言是分布式的
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(Java.Net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
(4)Java语言是健壮的
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使Java更具健壮性。
(5)Java语言是安全的
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类也具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类,检查字节代码,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
(6)Java语言是体系结构中立的
Java程序(后缀名为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀名为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
(7)Java语言是可移植的
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
(8)Java语言是解释型的
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在连接阶段被载入到运行环境中。
(9)Java是高性能的
与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++语言。
(10)Java语言是多线程的
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:第一种,继承Thread类后覆盖其中的Public void run()方法。第二种,创建一个线程类Thread的实例,在构造方法中把实现Runnable接口后的实例对象当成参数传递进去。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供了多线程之间的同步机制(关键字为synchronized)。
(11)Java语言是动态的
Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使Java应用具有健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的“编译一次,随处运行”的特性使它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
4.Java与网络
早前的万维网只能传送文本和图片,Java的出现实现了互动的页面,这是一次伟大的革命。
Java并不是为Internet、万维网而设计的,它也可以用来编写独立的应用程序。Java是一种面向对象语言,Java语言类似于C++语言,所以已熟练掌握C++语言的编程人员,再学习Java语言就容易得多。Java程序需要编译,它被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。实际上有两种Java程序:一种Java应用程序是一个完整的程序,如Web浏览器;另一种Java应用程序是运行于Web浏览器中的一个程序。
5.Java常用开发工具简介
(1)JBuilder
JBuilder是Borland公司开发的针对Java的开发工具,使用JBuilder可以快速、有效地开发各类Java应用,它使用的JDK与Sun公司标准的JDK不同,而是经过了较多的修改,便于开发人员能够像开发Delphi应用那样开发Java应用。
JBuilder的核心有一部分采用了VCL技术,程序的条理非常清晰,就算是初学者,也能完整地了解整个代码。JBuilder另一个特点是简化了团队合作,它采用的互联网工作室技术使不同地区,甚至不同国家的人联合开发一个项目成为了可能。
下面简单介绍一下JBuilder的特点:
① JBuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean及EJB(Enterprise JavaBeans)的应用。
② 用户可以自动地生成基于后端数据库表的EJB Java类,JBuilder同时还简化了EJB的自动部署功能。此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(Interface Definition Language,分布应用程序所需要的接口定义语言)和控制远程对象。
③ JBuilder支持各种应用服务器。JBuilder与Inprise Application Server紧密集成,同时支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发J2EE的电子商务应用。
④ JBuilder能用Servlet和JSP开发和调试动态Web应用。
⑤ 利用JBuilder可创建纯Java2应用。由于JBuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。
⑥ JBuilder拥有专业化的图形调试界面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。JBuilder环境开发程序方便,是纯粹的Java开发环境,适合企业的J2EE开发。但缺点是一开始人们往往难于把握整个程序各部分之间的关系,对机器的硬件要求较高,内存占用量大。
(2)Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件、组件构建开发环境。幸运地是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,宣称Eclipse将来能成为可进行任何语言开发的IDE集成,使用者只需下载各种语言的插件即可。
虽然大多数用户很乐于将Eclipse当做Java IDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言。例如,支持诸如C/C++语言、COBOL语言和Eiffel语言等编程语言的插件已经可用,预计会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,如内容管理系统。
基于Eclipse的应用程序的突出例子是IBM的WebSphere Studio Workbench,它构成了IBM Java开发工具系列的基础。例如,WebSphere Studio Application Developer添加了对JSP、Servlet、EJB、XML、Web服务和数据库访问的支持。
(3)NetBeans
NetBeans由Sun公司在2000 年创立,它是开放源运动及开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。http://www.netbeans.org已经获得业界广泛认可,并支持NetBeans扩展IDE模块目录中大约100多个模块。
NetBeans是一个全功能的开放源码Java IDE,可以帮助开发人员编写、编译、调试和部署Java应用,并将版本控制和XML编辑融入其众多功能之中。NetBeans可支持Java 2平台标准版(J2SE)应用的创建、采用JSP和Servlet的2 层Web应用的创建,以及用于2 层Web应用的API及软件的核心组的创建。此外,NetBeans最新版还预装了两个Web服务器,即Tomcat和GlassFish,从而免除了烦琐的配置和安装过程。所有这些都为Java开发人员创造了一个可扩展的开放源多平台的Java IDE,以支持他们在各自所选择的环境中从事开发工作,如Solaris、Linux、Windows或Macintosh。
NetBeans是一个为软件开发者而设计的自由、开放的IDE(集成开发环境),可以在这里获得许多需要的工具,包括建立桌面应用、企业级应用、Web开发和Java移动应用程序开发、C/C++语言,甚至是Ruby语言。NetBeans可以非常方便地安装于Windows、Linux、Mac OS和Solaris等多种操作系统。
NetBeans IDE 6.1版本提供了几种新功能和增强了一些功能,提供了强大的JavaScript编辑功能,支持使用Sping的Web框架,并加强了与MySQL的整合,使NetBeans可以比较方便地使用MySQL数据库,NetBeans 6.1增强了性能,启动速度提升了40%,在建立一个大工程时,有了较低的内存消耗和更快的响应速度。
NetBeans目前最新版本为6.5。
(4)JCreator
JCreator目前分为JCreator Le和JCreator Pro两个版本。
JCreator可在http://www.jcreator.com/下载。
JCreator Le为免费版,而JCreator Pro要注册。JCreator Le功能不如JCreator Pro全面。
JCreator专业版是一款适合于各个Java语言编程开发人员的IDE工具。它为使用者提供了大量功能,如项目管理、工程模板、代码完成、调试接口、高亮语法编辑、使用向导及完全可自定义的用户界面。
JCreator特点如下。
① 有可无限撤销、代码缩进、自动类库方法提示、按所选智能定位查阅JavaAPI文档等功能。
② 新版采用仿VS界面设计,更易用。
③ 支持JSP、Ant和CVS。
④ 小巧、易用、美观,是Java初级程序员的理想IDE。
⑤ 文本编辑器种类很多,可以挑选自己习惯使用的软件,记事本也可以。
这里推荐两个软件:EditPlus和UltraEdit。
EditPlus是一款由韩国人写的小巧但是功能强大的可处理文本、HTML和程序语言的32位编辑器,甚至可以通过设置用户工具将其作为C语言、Java语言、PHP语言等的一个简单的IDE。
UltraEdit是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII码,可以取代记事本,内建英文单字检查、C++语言及VB语言指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有HTML标签颜色显示、搜寻替换及无限制的还原功能,一般用其来修改EXE或DLL文件。