第2章 Java概述_第1页
第2章 Java概述_第2页
第2章 Java概述_第3页
第2章 Java概述_第4页
第2章 Java概述_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主讲:杜来红西安财经学院管理学院信息与物流管理系面向对象程序设计第二章第二章Java Java 语言概述语言概述n2.1 Java起源起源n2.2 Java的特点的特点n2.3 Java编程环境编程环境n2.4 Java程序开发过程程序开发过程n2.5 Java Application的编写的编写n2.6 Java Applet程序程序 Sun Microsystems, Inc. - Palo Alto(帕罗奥多帕罗奥多), Silicon Valley, USA. 2.1.1 Java的来历的来历 2.1 Java 起源起源印度橡树印度橡树Oak programming language

2、http:/ Sun 公司进军消费电子产品市场。公司进军消费电子产品市场。 1995 Green小组组员在印尼爪哇岛度假喝咖啡时灵小组组员在印尼爪哇岛度假喝咖啡时灵机一动,将这种技术转移到机一动,将这种技术转移到web上,并把上,并把Oak改名为改名为Java。 1991.4 Sun成立成立“Green”小组,以小组,以C+为基础开发为基础开发新的程序语言,新的程序语言,James Gosling(Java创始人)取名创始人)取名时看到窗口橡树,即命名为时看到窗口橡树,即命名为Oak。 1993. web 在在 Internet上开始流行,当上开始流行,当Oak成熟时,成熟时,Internet

3、也正处于戏剧性增长的时期,也正处于戏剧性增长的时期,Sun公司的开发公司的开发小组认识到小组认识到Oak非常适合非常适合Internet编程编程,Java一炮而红。一炮而红。1994. 完成了一个用完成了一个用Oak编写的早期编写的早期Web查看器,称为查看器,称为WebRunner,后来改称,后来改称HotJava 1995.10 网景网景(Netscape)与与Sun公司合作,在公司合作,在Netscape Nevigator中支持中支持Java。1995.12 微软微软(MicroSoft) IE加入支持加入支持Java的行列。的行列。1996.2 Java Beta测试版结束,测试版结

4、束,Java 1.0版正式诞生。版正式诞生。1997.2 Java急速发展至急速发展至1.1版,届时分为版,届时分为Personal Java和和Embedded Java两大派。两大派。1998.7 升级成升级成1.2版。版。1999.9 升级至升级至1.3版。版。2002.7 升级到升级到1.4版,并形成版,并形成J2EE、J2SE与与J2ME体系。体系。 1995.5 Sun公司正式合并公司正式合并Java与与HotJava产品。产品。Oak更名更名为为Java(商标冲突),(商标冲突),并在并在Sunworld 95中发布。从此,中发布。从此,Java的的知名度如日中天知名度如日中天.

5、(甚至在甚至在1996年年1月月Java编译器第一版发编译器第一版发布之前,布之前,Java已经成为已经成为Internet发行的行业发行的行业标准标准)。美国杂志PC Magazine将Java评为1995年十大优秀科技产品2006 升级成升级成Java 6.0 ,2011年底年底7.0, 2013年年8.0版本版本2004 升级成升级成Java 1.5(5.0) 常用的版本:常用的版本:Java SE(J2se)(Java Standard Edition)称为称为Java标准版或标准版或标准平台。用于工作站、标准平台。用于工作站、PC机,为桌面开发和低端商务应机,为桌面开发和低端商务应用

6、提供了用提供了Java标准平台。标准平台。 Java EE(J2ee):(Java Enterprise Edition)称为称为Java企业版企业版或企业平台。用于服务器,构建可扩展的企业级或企业平台。用于服务器,构建可扩展的企业级Java平台。平台。 Java ME(J2me):(Java Micro Edition)称为称为Java微型版或小微型版或小型平台。嵌入式型平台。嵌入式Java消费电子平台,适用于消费性电子产品消费电子平台,适用于消费性电子产品和嵌入式设备。和嵌入式设备。(智能卡业务、移动通信、电视机顶盒智能卡业务、移动通信、电视机顶盒) 每种运行平台都包括了相应的每种运行平台

7、都包括了相应的Java虚拟机(虚拟机(JVM),虚拟机),虚拟机负责将字节码文件加载到内存,再采用解释方式来执行字节负责将字节码文件加载到内存,再采用解释方式来执行字节码文件,即根据相应平台的机器指令翻译一句执行一句码文件,即根据相应平台的机器指令翻译一句执行一句 Java SE平台是学习掌握平台是学习掌握Java语言的最佳平台,而掌语言的最佳平台,而掌握握Java SE又是学期又是学期EE和和ME的所必须的的所必须的学习学习Java必须从必须从Java SE开始。开始。目前目前Sun公司已发布了公司已发布了JDK的的1.8(http:/ 版本讲述,可在官方主页上免费下版本讲述,可在官方主页上

8、免费下载(例如:载(例如: jdk-6u6-windows-i586-p.exe ) JavaJava让人联想到印度尼西亚有个重要的盛产咖啡的让人联想到印度尼西亚有个重要的盛产咖啡的岛屿,中文名叫爪哇,开发人员为这种新的语言起名岛屿,中文名叫爪哇,开发人员为这种新的语言起名为为JavaJava,其寓意是,其寓意是“为世人端上一杯热咖啡为世人端上一杯热咖啡”。n2.1.2深远影响深远影响Java语言对软件开发技术的影响:语言对软件开发技术的影响: 1)工业界对)工业界对Java语言的评价:语言的评价: 工业界不少人预言,工业界不少人预言,Java语言的出现,将语言的出现,将会引起一场软件革命。这

9、是因为传统的软件会引起一场软件革命。这是因为传统的软件往往都与具体的实现环境有关,换一个环境往往都与具体的实现环境有关,换一个环境就需要作一番改动,耗时费力。而就需要作一番改动,耗时费力。而Java语言语言能在执行码(二进制码)上兼容,这样以前能在执行码(二进制码)上兼容,这样以前所开发的软件就能运行在不同的机器上,只所开发的软件就能运行在不同的机器上,只要所用的机器能提供要所用的机器能提供Java语言解释器即可。语言解释器即可。Java语言将对未来软件的开发产生巨大的影语言将对未来软件的开发产生巨大的影响,表现在如下几个方面:响,表现在如下几个方面:(1)软件的需求分析:可将用户的需求进行动

10、态地、可视化地描)软件的需求分析:可将用户的需求进行动态地、可视化地描述,以提供设计者更加直观的要求。而用户的需求是各色各样的,述,以提供设计者更加直观的要求。而用户的需求是各色各样的,不受地区、行业、部门、爱好的影响,都可以用不受地区、行业、部门、爱好的影响,都可以用Java语言描述清语言描述清楚。楚。(2)软件的开发方法:由于)软件的开发方法:由于Java语言的面向对象的特性,所以完语言的面向对象的特性,所以完全可以用全可以用OOP(面向对象程序设计)的技术与方法来开发,这是(面向对象程序设计)的技术与方法来开发,这是符合最新的软件开发规范要求的。符合最新的软件开发规范要求的。(3)Jav

11、a语言的动画效果:这方面语言的动画效果:这方面Java远比远比GUI(图形用户界面)(图形用户界面)技术达到的效果逼真,尤其是利用技术达到的效果逼真,尤其是利用WWW提供的巨大动画资源空提供的巨大动画资源空间,可以共享全世界的动态画面的资源。间,可以共享全世界的动态画面的资源。(4)软件最终产品:用)软件最终产品:用Java语言开发的软件可以具有可视化、可语言开发的软件可以具有可视化、可听化、可操作化的效果,这要比电视、电影的效果更为理想,因听化、可操作化的效果,这要比电视、电影的效果更为理想,因为它可以做到为它可以做到“即时、交互、动画与动作即时、交互、动画与动作”,要停就停,要它继,要停就

12、停,要它继续就继续,而这是在电影与电视播放过程中难以做到的。续就继续,而这是在电影与电视播放过程中难以做到的。(5)移动通信:使用)移动通信:使用Java语言能够高效地开发移动通信的网络产语言能够高效地开发移动通信的网络产品,如手机通信、无线上网、移动电视、寻呼机等品,如手机通信、无线上网、移动电视、寻呼机等 2) Java将是网络上的世界语,今后所有的将是网络上的世界语,今后所有的用其他语言编写的软件统统都将要用用其他语言编写的软件统统都将要用Java语语言来改写言来改写。 3) 微软公司总裁比尔微软公司总裁比尔盖茨先生在经过研盖茨先生在经过研究后认为究后认为“Java语言是长时间以来最卓越

13、的语言是长时间以来最卓越的程序设计语言程序设计语言”。4) “Java正在进入企业、家庭和学校。正在进入企业、家庭和学校。 它正在它正在象象Internet本身一样成为普遍存在的技术。本身一样成为普遍存在的技术。” -Oracle 公司董事长和首席执行官公司董事长和首席执行官 Larru Ellison 5) “Java正在改变我们使用正在改变我们使用Internet的方法,的方法,改变我们在公司内部存取信息的方法,甚至改变改变我们在公司内部存取信息的方法,甚至改变我们使用蜂窝电话的方法。它正在从根本上改变我们使用蜂窝电话的方法。它正在从根本上改变制作信息、销售信息制作信息、销售信息 和分配信

14、息的方法。和分配信息的方法。” -Earth Web公司董事长和首席执行官公司董事长和首席执行官 Jack Hidary Java语言已经成为最流行的网络编程语言,截语言已经成为最流行的网络编程语言,截止到止到2005年中,全世界大约有超过年中,全世界大约有超过450万万Java程程序员,许多大学纷纷开设序员,许多大学纷纷开设Java课程,课程,Java正逐正逐步成为世界上程序员最多的编程语言。步成为世界上程序员最多的编程语言。 据统计,据统计,2008年有年有21.345%的程序员在用的程序员在用Java 语语言言截止截止2008年底,年底,Java编程语言已经在全球编程语言已经在全球8亿台

15、亿台PC和和21亿部手机上运行亿部手机上运行2.2 Java2.2 Java的特点的特点n2.2.1 特点特点 sun公司在公司在Java白皮书中是这样对白皮书中是这样对Java进行进行定义的:定义的: Java: a simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multi-threaded, and dynamic programing language. 即即Java是一种具有:简单的,面向对象的,是一

16、种具有:简单的,面向对象的,分布式的,解释型的,强壮的,安全的,体系分布式的,解释型的,强壮的,安全的,体系结构中立的,可移植的,高性能的,多线程的,结构中立的,可移植的,高性能的,多线程的,动态的编程语言。动态的编程语言。 特性之一特性之一简单性简单性 JavaJava语言的简单性主要出于如下几种因素:语言的简单性主要出于如下几种因素: JavaJava的风格类似于的风格类似于c+c+。 因而对因而对c+c+程序员而言是非常熟程序员而言是非常熟悉的;从某种意义上讲,悉的;从某种意义上讲,JavaJava语言本身是语言本身是c c及及c+c+的一个变种,的一个变种,因此,因此,c+c+程序员可

17、以很快掌握程序员可以很快掌握JavaJava编程技术;编程技术; JavaJava摒弃了摒弃了c+c+中容易引发程序错误的地方中容易引发程序错误的地方. .如指针和内存如指针和内存管理;管理; JavaJava提供了提供了自动内存垃圾搜集机制自动内存垃圾搜集机制,从而减轻了编程人员,从而减轻了编程人员进行内存管理的负担,有助于减少软件错误;进行内存管理的负担,有助于减少软件错误; JavaJava是是完全面向对象完全面向对象的,它是最容易学习的面向对象编程的,它是最容易学习的面向对象编程语言之一,同时它还提供了大量可重用的类库语言之一,同时它还提供了大量可重用的类库 特性之二特性之二面向对象面

18、向对象 Java Java语言是一门面向对象语言,语言是一门面向对象语言,JavaJava语言的设计集语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的中于对象及其接口,它提供了简单的类机制以及动态的接口模型,对象中封装了它的状态变量以及相应的方法,接口模型,对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏。实现了模块化和信息隐藏。JavaJava语言是完全面向对象的,所有设计都必须在类中实语言是完全面向对象的,所有设计都必须在类中实现,一个现,一个JavaJava程序就是一个或多个类的集合程序就是一个或多个类的集合. . 不支持类似不支持类似C C语言的面向过程设计语

19、言的面向过程设计. .特性之三特性之三分布式分布式 分布式包括分布式包括数据分布和操作分布数据分布和操作分布: 数据分布是指数据可以分散存放于网络上的不同主机;数据分布是指数据可以分散存放于网络上的不同主机; 操作分布则把计算分散由不同主机进行处理操作分布则把计算分散由不同主机进行处理 JavaJava支持支持wwwwww和和c/s计算模式,因此它可以支持所有这两种计算模式,因此它可以支持所有这两种分布性。对于数据分布,分布性。对于数据分布,JavaJava提供了一个提供了一个URLURL对象,利用此对对象,利用此对象可以打开并访问网络上的对象,其访问方式与访问本地文象可以打开并访问网络上的对

20、象,其访问方式与访问本地文件系统几乎完全相同件系统几乎完全相同 对于操作分布,对于操作分布,JavaJava的的c/sc/s模式可以把运算从服务器分散模式可以把运算从服务器分散到客户一端到客户一端 ,提高整个系统的执行效率,避免瓶颈制约,增,提高整个系统的执行效率,避免瓶颈制约,增加动态可扩充性加动态可扩充性 特性之四特性之四解释执行解释执行 JavaJava不像不像C C或或+,它不针对,它不针对CPUCPU芯片进行编译,而是芯片进行编译,而是把程序把程序(.java)(.java)编译成了字节码文件编译成了字节码文件(.class)(.class),字节码是很,字节码是很接近机器码的文件,

21、可以在提供了接近机器码的文件,可以在提供了JavaJava虚拟机的任何系统虚拟机的任何系统上被解释执行上被解释执行 字节码提供了一种结构中立的对象文件格式,该格式字节码提供了一种结构中立的对象文件格式,该格式设计成可在多种平台上有效运行的程序。设计成可在多种平台上有效运行的程序。JavaJava语言的程序语言的程序可在提供可在提供JavaJava语言解释器和实时运行系统的任意环境上运语言解释器和实时运行系统的任意环境上运行行,JavaJava解释器直接对解释器直接对JavaJava字节码进行解释执行,字节码字节码进行解释执行,字节码本身携带了许多编译时的信息,使连接过程比较简单。本身携带了许多

22、编译时的信息,使连接过程比较简单。特性之五特性之五健壮性健壮性 JavaJava在编译和运行程序时,都要对可能出现的难题进在编译和运行程序时,都要对可能出现的难题进行检查,以消除错误的产生,它提供行检查,以消除错误的产生,它提供自动垃圾收集自动垃圾收集来进行来进行内存管理,防止程序员在管理内存时容易产生的错误,通内存管理,防止程序员在管理内存时容易产生的错误,通过集成的面向对象的过集成的面向对象的例外处理机制例外处理机制,在编译时,在编译时,JavaJava提示提示出可能出现但未被处理的例外,帮助程序正确地进行选择出可能出现但未被处理的例外,帮助程序正确地进行选择以防系统的崩溃。另外,以防系统

23、的崩溃。另外,JavaJava在编译时还可捕获类型声明在编译时还可捕获类型声明中的许多常见错误,防止中的许多常见错误,防止动态运行时不匹配问题动态运行时不匹配问题的出现。的出现。特性之六特性之六安全性安全性 JavaJava不支持指针不支持指针,一切对内存的访问都必须通过对,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用象的实例变量来实现,这样就防止程序员使用“特洛伊特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。针操作中容易产生的错误。语言级别语言级别:提供严密的语法规则,在编译和运行时严:

24、提供严密的语法规则,在编译和运行时严格检查错误;格检查错误;JavaJava语言提供异常处理机制;提供内存语言提供异常处理机制;提供内存自动回收管理机制。自动回收管理机制。运行架构级别运行架构级别:JavaJava采用域管理方式的安全模式,无采用域管理方式的安全模式,无论是本地代码还是远程代码都可以通过配置策略,设论是本地代码还是远程代码都可以通过配置策略,设定可访问的资源域。定可访问的资源域。 特性之七特性之七体系结构中立体系结构中立( (与平台无关性与平台无关性) ) JavaJava程序被编译成一种与体系结构无关的字程序被编译成一种与体系结构无关的字节码,只要安装了节码,只要安装了Jav

25、aJava运行时系统运行时系统,Java,Java程序可以程序可以在任意的处理器上运行,在任意的处理器上运行,JavaJava解释器得到字节码解释器得到字节码后,对其进行转换使其能够在不同的平台上运行。后,对其进行转换使其能够在不同的平台上运行。 write oncewrite once,run anywhererun anywhere 如果如果Java(Java(汉语汉语),),那么字节码(世界语)那么字节码(世界语)特性之八特性之八可移植性可移植性 JavaJava采用多种机制来保证可移植性,其中最主要的有两采用多种机制来保证可移植性,其中最主要的有两条:条: JavaJava既是编译性又

26、是解释性的。因为,既是编译性又是解释性的。因为,JavaJava编译人员编译人员在进行软件开发时,不必考虑软件运行平台。不仅开发的在进行软件开发时,不必考虑软件运行平台。不仅开发的源源代码是可移植的代码是可移植的,甚至源代码经过编译之后形成的二进制代,甚至源代码经过编译之后形成的二进制代码码字节码字节码,而不管这种字节码是在何种平台上生成的。,而不管这种字节码是在何种平台上生成的。 JavaJava采用的是基于国际标准的数据类型,采用的是基于国际标准的数据类型,JavaJava的数据的数据类型在任何机器上都是一致的类型在任何机器上都是一致的,它不支持特定于具体的硬件,它不支持特定于具体的硬件环

27、境的数据类型。环境的数据类型。 此外,此外,JavaJava的可移植性还体现在的可移植性还体现在JavaJava的运行环境上,的运行环境上,JavaJava编译器是用编译器是用JavaJava语言本身所编写的,整个运行时的环境语言本身所编写的,整个运行时的环境体现了一个定义良好的可移植接口。体现了一个定义良好的可移植接口。特性之九特性之九高性能高性能 JavaJava作为一种解释型语言,其速度不会超过编译语作为一种解释型语言,其速度不会超过编译语言言c c,但远远超过交互式语言,但远远超过交互式语言GUIGUI等,和其他解释执行的等,和其他解释执行的语言如语言如basicbasic等不同,等不

28、同,JavaJava字节码的设计使之能很容易地字节码的设计使之能很容易地直接转换成对应于特定直接转换成对应于特定CPUCPU的机器码,从而具有较高的性的机器码,从而具有较高的性能。能。特性之十特性之十多线程多线程 多线程概念很像多任务,多线程概念很像多任务,JavaJava可以把一个程序分成多可以把一个程序分成多个任务以便使任务易于完成和最大限度利用个任务以便使任务易于完成和最大限度利用CPUCPU资源。资源。 多线程机制使应用程序能够并行执行,而且同步机制多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设保证了对共享数据的正确操作。通过使用多线程

29、,程序设计者可以分别用不同的线程完成特定的行为,而不需要采计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。时交互行为。特性之十一特性之十一动态性动态性 JavaJava程序的基本组成单元是类,有些类是自己编写程序的基本组成单元是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得的,这就使得JavaJava可以动态地维护程序以及类库可以动态地维护程序以及类库 JavaJava自身的设计使它适合于一个不断发展

30、的环境。自身的设计使它适合于一个不断发展的环境。在在JavaJava类库中可以自由的加入新的方法和实例变量而不类库中可以自由的加入新的方法和实例变量而不会影响用户程序的执行,而且会影响用户程序的执行,而且JavaJava通过接口来支持多重通过接口来支持多重继承使之比严格的类继承具有更灵活的方式和扩展性。继承使之比严格的类继承具有更灵活的方式和扩展性。 Java Java虚拟机在内存管理等功能方面全部采用动态方虚拟机在内存管理等功能方面全部采用动态方式,如动态分配数组的存储空间、动态创建对象、动态式,如动态分配数组的存储空间、动态创建对象、动态连接数据库等,这些动态特性使连接数据库等,这些动态特

31、性使JavaJava程序适合在网络上程序适合在网络上运行运行2.2.2 Java2.2.2 Java特色特色1.1.完成同样工作的完成同样工作的JavaJava程序与程序与c/cc/c+程序相比要精简得多程序相比要精简得多2.Java2.Java可被方便地当作组件来可被方便地当作组件来“搭建搭建”大型软件,以达到大型软件,以达到重复使用的目的重复使用的目的3.Java3.Java是一种最大限度上实现了与平台无关的编程语言是一种最大限度上实现了与平台无关的编程语言4.Java4.Java内嵌对网络的强大支持,尤其适合分布式网络应用内嵌对网络的强大支持,尤其适合分布式网络应用程序的开发程序的开发5

32、.Java5.Java的安全机制使其在开发的安全机制使其在开发InternetInternet应用程序时更加安应用程序时更加安全全6.Java6.Java为多线程提供了广泛支持为多线程提供了广泛支持292.2.3 Java2.2.3 Java的核心技术的核心技术nJDBC:JavaJDBC:Java DataBaseDataBase Connectivity ConnectivitynJSP:SunJSP:Sun推出的动态网页技术标准推出的动态网页技术标准n JavaBeans和EJB:JavaEJB:Java的对象组件技术的对象组件技术nJavaMail:提供提供E-MailE-Mail邮件

33、服务的支持类库邮件服务的支持类库2.3 Java2.3 Java编程环境编程环境n2.3.1 Java2.3.1 Java开发工具开发工具JDKJDK Java Java不仅提供了一个丰富的语言和运行环境不仅提供了一个丰富的语言和运行环境, , 而且还而且还提供了一个免费的提供了一个免费的JavaJava软件开发工具集软件开发工具集(Java Development (Java Development Kits, Kits, 简称简称JDK)JDK)。到目前为止,。到目前为止,SunSun公司先后发布了多个主公司先后发布了多个主要的要的JDKJDK的版本。其主要版本的发布时间和特点如下:的版本

34、。其主要版本的发布时间和特点如下: JDK1.0JDK1.0:19951995年推出,是年推出,是JavaJava最早的编译环境。最早的编译环境。 JDK1.2JDK1.2:19981998年发布,在图形化用户界面、数据库年发布,在图形化用户界面、数据库互连以及其他许多方面作了重大改进。这个版本也称作带互连以及其他许多方面作了重大改进。这个版本也称作带有有JDK1.2JDK1.2的的Java1.2Java1.2版本。由于该版本具有重大改变,所以版本。由于该版本具有重大改变,所以从从Java1.2Java1.2版本后的版本后的JavaJava语言也称作语言也称作Java 2Java 2语言语言

35、JDK1.3JDK1.3:20002000年。在多媒体应用、编译速度等方面做了年。在多媒体应用、编译速度等方面做了改进。改进。 JDK1.4JDK1.4:20022002年。使用比较多的一个版本年。使用比较多的一个版本( (有有1.4.01.4.0 , .1和和1.4.2)1.4.2) JDK1.5JDK1.5(5.05.0) :20062006年发布的版本增加了新的语言特年发布的版本增加了新的语言特性,如枚举,变参等等性,如枚举,变参等等 JDK1.6JDK1.6 (6.06.0) :2011.6升级到升级到1.6.0 Update26 JDK1.7JDK1.7 (7.07.

36、0) :2011.112011.11 最新版本最新版本 Java 7u25 (Version 7 Update 25 ) JDK 8JDK 8(LambdaLambda版)版) 2013.92013.9发布正式版发布正式版8.08.0目前,大部分的开发者尚未升级到目前,大部分的开发者尚未升级到JDK 7JDK 7,但这一点也不影,但这一点也不影响甲骨文关于响甲骨文关于JDK 8JDK 8的开发。的开发。2012/04/262012/04/26 M1 M1 (JDK 8 build b36JDK 8 build b36) 2012/06/142012/06/14 M2 M2 (JDK 8 bui

37、ld b43JDK 8 build b43) 2012/08/022012/08/02 M3 M3 (JDK 8 build b50JDK 8 build b50) 2012/09/132012/09/13 M4 M4 2012/11/292012/11/29 M5 M5 2013/01/312013/01/31 M6 M6 (功能完整版功能完整版) 2013/02/212013/02/21 M7 M7 (开发者预览版开发者预览版) 2013/07/052013/07/05 M8 M8 (最终候选版最终候选版) 2013/09/092013/09/09 GA GA (正式版正式版) JDK J

38、DK包括包括JavaJava的编译器、解释器、调试器等开发工具以的编译器、解释器、调试器等开发工具以及及Java APIJava API类库。编程人员和最终用户可以利用这些工具类库。编程人员和最终用户可以利用这些工具来开发来开发JavaJava程序。其调试工具主要包括:程序。其调试工具主要包括:javacjavac (编译(编译JavaJava源程序)源程序)java java ( 解释运行解释运行JavaJava程序,显示程序运行结果程序,显示程序运行结果)jdbjdb(JavaJava调试器)调试器)javahjavah(C C语言标题文件和存根文件产生器)语言标题文件和存根文件产生器)j

39、avapjavap(JavaJava反汇编器)反汇编器)javadocjavadoc(JavaJava文档管理器)文档管理器)appletviewerappletviewer(Java AppletJava Applet浏览器,用于测试并运行浏览器,用于测试并运行JavaJava小程序。)小程序。) 2.3.2 2.3.2 安装编程环境和设置环境变量安装编程环境和设置环境变量 安装:安装: 默认安装默认安装 设置环境变量设置环境变量 ( (以以1.61.6版本为例版本为例) ):对于对于Win2000Win2000或或xpxp的用户,使用鼠标右击的用户,使用鼠标右击【我的电脑我的电脑】,依,依

40、次选择次选择【属性属性】【高级高级】【环境变量环境变量】,打开,打开【环境环境变量变量】对话框,在对话框,在【系统变量系统变量】列表框中,单击列表框中,单击【新建新建】按钮,新建环境变量按钮,新建环境变量classpathclasspath,其变量值为,其变量值为“C:Program FilesJavajre1.6.0_06librt.jar; .;rt.jar; .;”。选择。选择pathpath变量,单击变量,单击【编辑编辑】按钮,在按钮,在pathpath变量的变量值后面加上变量的变量值后面加上“; ; C:Program FilesJavajdk1.6.0_06bin; ;”。提示:由

41、于提示:由于JavaJava是平台无关的,安装是平台无关的,安装JDKJDK时时JavaJava不会自动设置路径,也不会自动设置路径,也不会修改注册表,需要用户自己设置环境变量,但不需要修改注册表。不会修改注册表,需要用户自己设置环境变量,但不需要修改注册表。即在即在WindowsWindows系统中设置系统中设置pathpath和和classpathclasspath两个环境变量两个环境变量安装成功的目录结构安装成功的目录结构JDKJDK的目录结构的目录结构BinBin中的主要工具中的主要工具2.3.3 2.3.3 其他开发工具和编程介绍其他开发工具和编程介绍(自学)(自学) JBuilde

42、rJBuilder,Visual CafeVisual Cafe,Visual Age for JavaVisual Age for Java,ForteForte,VJ+VJ+,JCreatorJCreator, EclipseEclipse等等1 1)JBuilderJBuilderJBuilderJBuilders s intergratedintergrated development environment (IDE) development environment (IDE)是是JavaJava的集成开发环境。它比较适合于的集成开发环境。它比较适合于projectproject和和

43、filesfiles的的管理,提供可视化的设计用户界面,编译,调试和运行。管理,提供可视化的设计用户界面,编译,调试和运行。界面如下页图所示界面如下页图所示2)Visual Caf:WebGain的的 是一个具有多种用法和多个用途的高级开发工具是一个具有多种用法和多个用途的高级开发工具. .它它可为各种各样的开发人员用于完成一系列任务可为各种各样的开发人员用于完成一系列任务. .主要特征主要特征是是: :独立于平台的开发和支持专家级和初学者开发人员独立于平台的开发和支持专家级和初学者开发人员3)Visual Age for Java:IBM的的界面如下图所示界面如下图所示4 4)Microso

44、ft VJ+Microsoft VJ+ VJ+ VJ+使得熟悉使得熟悉JavaJava的程序员能够快速的为的程序员能够快速的为WindowsWindows平平台开发应用程序台开发应用程序, ,很遗憾的是很遗憾的是,VJ+,VJ+不是一个优秀的不是一个优秀的JavaJava应应用程序开发工具用程序开发工具, ,因为它不符合目前版本的因为它不符合目前版本的JavaJava标准标准, ,因此因此, ,如果想学如果想学JavaJava的话的话, ,就应该彻底放弃就应该彻底放弃VJ+VJ+5 5)JCreatorJCreator: :处于集成和交互环境之间的一个工具处于集成和交互环境之间的一个工具6 6

45、)Java WorkshopJava Workshop : Sun Sun MicroSystemsMicroSystems公司于公司于19961996年年3 3月月2626日推出了日推出了Java Java WorkShopWorkShop 1.0 1.0,这是业界出现的第一个供,这是业界出现的第一个供InternetInternet网使用网使用的多平台开发工具,它可以满足各公司开发的多平台开发工具,它可以满足各公司开发InternetInternet和和IntranetIntranet网应用软件的需要。网应用软件的需要。Java Java WorkShopWorkShop完全用完全用Jav

46、aJava语言编写,是当今市场上销售的第一个完全的语言编写,是当今市场上销售的第一个完全的JavaJava开发环开发环境,目前境,目前Java Java WorkShopWorkShop的最性版本是的最性版本是3.0 3.0 。界面如图所。界面如图所示示7)NetBeans 与与Sun Java Studio 5 NetBeansNetBeans是开放源码的是开放源码的JavaJava集成开发环境集成开发环境(IDE)(IDE),适,适用于各种客户机和用于各种客户机和WebWeb应用。应用。 Sun Java StudioSun Java Studio是是SunSun公司公司最新发布的商用全功

47、能最新发布的商用全功能Java IDEJava IDE,支持,支持SolarisSolaris、LinuxLinux和和WindowsWindows平台,适于创建和部署平台,适于创建和部署2 2层层Java WebJava Web应用和应用和n n层层J2EEJ2EE应用的企业开发人员使用。应用的企业开发人员使用。 在在NetBeansNetBeans 3.5.1 3.5.1基础上,基础上,SunSun开发出了开发出了Java One Java One Studio 5Studio 5,为用户提供了一个更加先进的企业编程环境。,为用户提供了一个更加先进的企业编程环境。在新的在新的Java On

48、e Studio5Java One Studio5里有一个应用框架,开发者可以里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面的各种应用程利用这些模块快速开发自己在网络服务方面的各种应用程序。序。 8)Oracle 的的JDeveloper Oracle9i Oracle9i JDeveloperJDeveloper为构建具有为构建具有J2EEJ2EE功能,功能,XMLXML和和Web Web servicesservices的复杂的,多层的的复杂的,多层的JavaJava应用程序提供了一个完全集应用程序提供了一个完全集成的开发环境。它为运用成的开发环境。它为运用Oracle

49、9iOracle9i数据库和应用服务器的开数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资格发人员提供特殊的功能和增强性能,除此以外,它也有资格成为用于多种用途成为用于多种用途JavaJava开发的一个强大的工具。开发的一个强大的工具。Oracle9i Oracle9i JDeveloperJDeveloper的主要特点如下:的主要特点如下: 具有具有UMLUML建模功能。可以将业务对象及建模功能。可以将业务对象及e-businesse-business应应用模型化。用模型化。 配备有高速配备有高速JavaJava调试器(调试器(DebugerDebuger)、内置)、

50、内置ProfilingProfiling工具、提高代码质量的工具工具、提高代码质量的工具“CodeCoachCodeCoach”等。等。 支持支持SOAPSOAP(简单对象访问协议)、(简单对象访问协议)、UDDIUDDI(Universal Universal Description, Discovery and IntegrationDescription, Discovery and Integration)“统一描述、统一描述、发现和集成协议发现和集成协议”、WSDLWSDL(Web Services Description Web Services Description Langu

51、ageLanguage)“WEBWEB服务描述语言服务描述语言”等等WebWeb服务标准。服务标准。 9)BEA 的的 WebLogic Workshop BEA BEA WebLogicWebLogic Workshop Workshop是一个统一、简化、可扩展的是一个统一、简化、可扩展的开发环境,使所有的开发人员都能在开发环境,使所有的开发人员都能在 BEA BEA WebLogicWebLogic Enterprise PlatformEnterprise Platform之上构建基于标准的企业级应用,之上构建基于标准的企业级应用,从而提高了开发部门的生产力水平,加快了价值的实现。从而提

52、高了开发部门的生产力水平,加快了价值的实现。WebLogicWebLogic Workshop Workshop除了提供便捷的除了提供便捷的WebWeb服务之外,它能够服务之外,它能够用于创建更多种类的应用。作为整个用于创建更多种类的应用。作为整个BEA BEA WebLogicWebLogic PlatformPlatform的开发环境。不管是创建门户应用、编写工作流、的开发环境。不管是创建门户应用、编写工作流、还是创建还是创建WebWeb应用,应用,Workshop 8.1Workshop 8.1都可以帮助开发人员更都可以帮助开发人员更快更好地完成快更好地完成 WebLogicWebLog

53、ic Workshop Workshop的主要特点如下:的主要特点如下: 使使 J2EE J2EE 开发切实可行,提高开发效率开发切实可行,提高开发效率 构建企业级应用构建企业级应用 降低降低 IT IT 复杂性复杂性 10)Macromedia的的JRUN Macromedia Macromedia公司的公司的JRunJRun是一个具有最广阔适用性是一个具有最广阔适用性的的JavaJava引擎,用于开发及实施由引擎,用于开发及实施由Java Java ServletsServlets和和JavaServerJavaServer Pages Pages编写的服务器端编写的服务器端JavaJav

54、a应用。应用。JRunJRun是是第一个完全支持第一个完全支持JSP 1.0 JSP 1.0 规格书的商业化产品,全球规格书的商业化产品,全球有超过有超过80,00080,000名开发人员使用名开发人员使用JRunJRun在他们已有的在他们已有的WebWeb服务器上添加服务器端服务器上添加服务器端JavaJava的功能。其中的功能。其中WebWeb服务器服务器包括了包括了Microsoft IISMicrosoft IIS,Netscape Enterprise Netscape Enterprise ServerServer,ApacheApache等。等。 Eclipse Eclipse是

55、一种可扩展的开放源代码是一种可扩展的开放源代码IDEIDE。20012001年年1111月,月,IBMIBM公司捐出价值公司捐出价值4,0004,000万美元的源代码组建了万美元的源代码组建了EclipseEclipse联盟,联盟,并由该联盟负责这种工具的后续开发。集成开发环境并由该联盟负责这种工具的后续开发。集成开发环境(IDE)(IDE)经常将其应用范围限定在经常将其应用范围限定在“开发、构建和调试开发、构建和调试”的周期之的周期之中。为了帮助集成开发环境中。为了帮助集成开发环境(IDE)(IDE)克服目前的局限性,业界克服目前的局限性,业界厂商合作创建了厂商合作创建了EclipseEcl

56、ipse平台。平台。EclipseEclipse允许在同一允许在同一IDEIDE中集中集成来自不同供应商的工具,并实现了工具之间的互操作性,成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。的嵌入式目标上。 11)Eclipse 和和my Eclipse(本课程所选工具本课程所选工具) 12)Ant Another Neat Another Neat Tool(AntTool(Ant) )是一种基于是一种基于JavaJava的的buildbuild工工具。具。 13)Intel

57、liJ IntellijIntellij IDE IDE是一款综合的是一款综合的Java Java 编程环境,被许多开编程环境,被许多开发人员和行业专家誉为市场上最好的发人员和行业专家誉为市场上最好的IDEIDE。 14)BlueJ BlueJBlueJ是一个专门为入门级教学设计的是一个专门为入门级教学设计的JavaTMJavaTM 开发环境。开发环境。它是由澳大利亚墨尔本它是由澳大利亚墨尔本MonashMonash大学大学BlueJBlueJ小组设计并开小组设计并开发的发的 15)JEdit jeditjedit 是一个用是一个用java java 编写的源码开放的文本编辑器。编写的源码开放

58、的文本编辑器。有很多有用的特性,包括语法加亮显示,括号匹配,表有很多有用的特性,包括语法加亮显示,括号匹配,表达式搜索,多个文件搜索和替换,定义键盘宏等等达式搜索,多个文件搜索和替换,定义键盘宏等等 16)JGRASP JGraspJGrasp是欧本大学(是欧本大学(Auburn UniversityAuburn University)为感谢美国)为感谢美国国家科学基金会的研究资助所开发的一套开放源码整合国家科学基金会的研究资助所开发的一套开放源码整合开发环境(针对开发环境(针对JavaJava语言),除支持语言),除支持JavaJava外,也能够支外,也能够支持持AdaAda、C C、C+C

59、+等等集成环境的优点集成环境的优点:界面友好,易学易用,适于开发大型应:界面友好,易学易用,适于开发大型应用系统用系统集成环境的缺点集成环境的缺点:速度慢,掩盖对初学者很重要的细节:速度慢,掩盖对初学者很重要的细节, , 烦人的工程,不适合小应用程序烦人的工程,不适合小应用程序 开发环境选择:开发环境选择: (初学者首选)(初学者首选)JDKJDK和文本编辑器(如和文本编辑器(如记事本记事本notePadnotePad, EditPlusEditPlus, UltraEditUltraEdit,EmEditor)等。在命令)等。在命令ShellShell里编里编译和执行程序。译和执行程序。 使

60、用集成开发环境使用集成开发环境( (MyEclipse , Eclipse , Eclipse , JBuilderJBuilder 等等) )编辑器介绍:编辑器介绍:EditPlusEditPlus是一款由韩国是一款由韩国 SangilSangil Kim Kim (ES-ComputingES-Computing)出品的小巧但是功能强大的可处理文本、出品的小巧但是功能强大的可处理文本、HTMLHTML和程序语和程序语言的言的3232位编辑器,你甚至可以通过设置用户工具将其作位编辑器,你甚至可以通过设置用户工具将其作为为C,Java,PhpC,Java,Php等等语言的一个简单的等等语言的一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论