版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 Jaava概概述及开开发环境境搭建通过本章章的学习习可以达达到以下下目标:认识Jaava并并了解其其发展历历史。可以安装装并配置置Javva开发发环境。掌握Jaava中中Patth及cclassspaath属属性的作作用。可以编写写并运行行一个简简单的JJavaa程序。可以掌握握Javva的开开发流程程。Javaa是一门门程序设设计语言言,其本本身的发发展经过过了一系系列的过过程。本本章将首首先介绍绍Javva的发发展历程程,让读读者对JJavaa有一个个基本的的认识,了了解Jaava的的主要作作用,接接着详细细讲解JJavaa开发环环境的搭搭建,包包括Jaava开开发中一一些基本本的
2、注意意事项。本章视视频录像像讲解时时间为335分钟钟,源代代码在光光盘对应应的章节节下。1.1 认识识Javva1.1.1 什么是是JavvaJavaa是Suun(全全称为SStannforrd UUnivverssityy Neetwoork,119822年成立立,Suun公司司的Loogo如如 图图1-11所示)公公司开发发出来的的一套编编程语言言,主设设计者是是Jammes Gosslinng(如如图1-2所示示),最最早来源源于一个个叫Grreenn的项目目,这个个项目原原来的目目的是为为家用电电子消费费产品开开发一个个分布式式代码系系统,这这样就可可以通过过网络对对家用电电器进行行控
3、制。开始SSun的的工程师师们准备备采用CC+,但但由于CC+过过于复杂杂,安全全性差,最最后决定定基于CC+开开发一种种新语言言Oakk(Jaava的的前身,119911年出现现),OOak是是一种用用于网络络的、精精巧而安安全的语语言,SSun公公司曾以以此投标标过一个个交互式式电视项项目,但但结果被被SGII打败。于是当当时的OOak几几乎“无家可可归”,恰巧巧这时MMarkk Arrdreeeseen开发发的Moosaiic和NNetsscappe启发发了Oaak项目目组成员员,Suun的工工程师们们用Jaava编编制了HHotJJavaa浏览器器,得到到了Suun公司司首席执执行官S
4、Scottt MMcNeealyy的支持持,触发发了Jaava进进军Innterrnett。图1-1 Sunn公司LLogoo 图1-2 Jammes GosslinngJavaa语言发发展到今今天经历历了一系系列的过过程,JJavaa在19995年年5月223日推推出了JJDK 1.00版本,此此版本标标志着JJavaa正式进进军Innterrnett的开始始,在119988年对之之前的JJDK进进行了升升级并推推出了JJDK1.22的开发发包,该该版本加加入了大大量的轻轻量级组组件包,从从此之后后Javva被正正式命名名为Jaava 2。Javaa语言发发展到今今天经历历了以下下3个发发展
5、方向向。J2SEE:Javva 22 PllatfformmStaandaard Ediitioon。包包含构成成Javva语言言核心的的类,如如数据库库连接、接口定定义、输输入/输输出和网网络编程程。J2MEE:Jaava 2 PPlattforrmMiicroo Edditiion。包含JJ2SEE中一部部分类,用用于消费费类电子子产品的的软件开开发,如如呼机、智能卡卡、手机机、PDDA和机机顶盒。J2EEE:Jaava 2 PPlattforrmEnnterrpriise Ediitioon。EEnteerprrisee Edditiion(企企业版)包包含J22SE中中的所有有类,并并
6、且还包包含用于于开发企企业级应应用的类类,如EEJB、Serrvleet、JJSP、XMLL和事务务控制,也也是现在在Javva应用用的主要要方向。虽然Jaava语语言的发发展方向向有3个个,但是是这3门门技术中中最核心心的部分分是J22SE,而而J2MME和JJ2EEE是在JJ2SEE基础之之上发展展起来的的,3种种技术的的关系如如图1-3所示示。另外外要提醒醒读者的的是,在在20005年JJavaa十周年年大会之之后这33门技术术又重新新更名:J2SEE更名为为JAVVA SSE。J2MEE更名为为JAVVA MME。J2EEE更名为为JAVVA EEE。图1-33 33种技术术的关系系1
7、.1.2 Javva语言言的特点点Javaa语言的的许多有有效的特特性吸引引着程序序员们,下下面介绍绍最主要要的几个个。1简洁洁有效Javaa语言是是一种相相当简洁洁的“面向对对象”程序设设计语言言,它省省略了CC+语语言中所所有的难难以理解解、容易易混淆的的特性,如如头文件件、指针针、结构构、单元元、运算算符重载载和虚拟拟基础类类等,更更加严谨谨、简洁洁。2可移移植性对于一个个程序员员而言,写写出来的的程序如如果不需需要修改改就能够够同时在在Winndowws、MMacOOS、UUNIXX等平台台上运行行,简直直就是美美梦成真真,而JJavaa语言就就让这个个原本遥遥不可及及的事已已经越来来
8、越近了了。使用用Javva语言言编写的的程序,只只要做较较少的修修改,甚甚至有时时根本不不需修改改即可在在不同平平台上运运行。3面向向对象可以这么么说,“面向对对象”是软件件工程学学的一次次革命,大大大提升升了人类类的软件件开发能能力,是是一个伟伟大的进进步,是是软件发发展的一一个重大大的里程程碑。在过去的的30年年间,“面向对对象”有了长长足的发发展,充充分体现现了其自自身的价价值,到到现在已已经形成成了一个个包含“面向对对象的系系统分析析”、“面向对对象的系系统设计计”和“面向对对象的程程序设计计”的完整整体系。所以作作为一种种现代编编程语言言,是不不能够偏偏离“面向对对象”这一方方向的,
9、JJavaa语言也也不例外外。4解释释型Javaa语言是是一种解解释型语语言,相相对于CC/C+语言言来说,用用Javva语言言写出来来的程序序效率低低,执行行速度慢慢。但它它可以通通过在不不同平台台上运行行Javva解释释器,对对Javva代码码进行解解释,来来实现“一次编编写,到到处运行行”的目标标。为了了达到目目标,牺牺牲效率率还是值值得的,而而且,现现在的计计算机技技术日新新月异,运运算速度度也越来来越快,用用户不会会感到太太慢。5适合合分布式式计算Javaa语言具具有强大大的、易易于使用用的联网网能力,非非常适合合开发分分布式计计算的程程序。JJavaa应用程程序可以以像访问问本地文
10、文件系统统那样通通过URRL访问问远程对对象。使用Jaava语语言编写写Socckett通信程程序比使使用任何何其他语语言都简简单。而而且它还还十分适适用于公公共网关关接口(CCGI)脚脚本的开开发,另另外还可可以使用用Javva小应应用程序序(Apppleet)、Javva服务务器页面面(Jaava Serrverr Paage,JJSP)、Serrvleet等手手段来构构建更丰丰富的网网页。6拥有有较好的的性能由于Jaava是是一种解解释型语语言,所所以它的的执行效效率相对对就会慢慢一些,但但由于JJavaa语言采采用了下下面两种种手段,使使其拥有有较好的的性能。Javaa语言源源程序编编
11、写完成成后,先先使用JJavaa伪编译译器进行行伪编译译,将其其转换为为中间码码(也称称为字节节码)再再解释。提供了一一种“准实时时”(Juust-in-Timme,JJIT)编编译器,当当需要更更快的速速度时,可可以使用用JITT编译器器将字节节码转换换成机器器码,然然后将其其缓冲下下来,这这样速度度就会更更快。7健壮壮、防患患于未然然的特征征Javaa语言在在伪编译译时,做做了许多多早期潜潜在问题题的检查查,并且且在运行行时又做做了一些些相应的的检查,可可以说是是一种最最严格的的“编译器器”。它的这种种“防患于于未然”的手段段将许多多程序中中的错误误都扼杀杀在“摇篮”之中,经经常有许许多在
12、其其他语言言中必须须通过运运行才会会暴露出出来的错错误,在在编译阶阶段就被被发现了了。另外,在在Javva语言言中还具具备了许许多保证证程序稳稳定、健健壮的特特性,有有效地减减少了错错误,也也使Jaava应应用程序序更加健健壮。8具有有多线程程处理能能力线程是一一种轻量量级进程程,是现现代程序序设计中中必不可可少的一一种特性性。多线线程处理理能力使使程序具具有更好好的交互互性、实实时性。Javaa在多线线程处理理方面性性能超群群,具有有让设计计者惊喜喜的强大大功能,而而且在JJavaa语言中中进行多多线程处处理也很很简单。9具有有较高的的安全性性Javaa语言在在设计时时在安全全性方面面考虑得
13、得很仔细细,做了了许多探探究,使使Javva语言言成为目目前最安安全的一一种程序序设计语语言。尽管Suun公司司曾经许许诺过:“通过JJavaa可以轻轻松构建建出防病病毒、防防黑客的的系统”,但就就在JDDK(JJavaaDevveloopmeentKitt)1.0发布布不久后后,美国国Priinceetonn(普林林斯顿)大大学的一一组安全全专家发发现了JJavaa 1.0安全全特性中中的第一一例错误误。从此此,Jaava安安全方面面的问题题开始被被关注。不过至至今所发发现的安安全隐患患都很微微不足道道,而且且Javva开发发组还宣宣称,他他们对系系统安全全方面的的Buggs非常常重视,会会
14、对这些些被发现现的Buugs立立即进行行修复。另外,由由于Suun公司司开放了了Javva解释释器的细细节,所所以有助助于通过过各界力力量共同同发现、防范、制止这这些安全全隐患。10是是一种动动态语言言Javaa是一种种动态的的语言,这这表现在在以下两两个方面面:在Javva语言言中,可可以简单单、直观观地查询询运行时时的信息息。可以将新新代码加加入到一一个正在在运行的的程序中中。11是是一种中中性结构构Javaa编译器器生成的的是一种种中性的的对象文文件格式式,也就就是说,JJavaa编译器器通过伪伪编译后后,将生生成一个个与任何何计算机机体系统统无关的的“中性”的字节节码。这种中性性结构其
15、其实并不不是Jaava首首创的,在在Javva出现现之前UUCSDD Paascaal系统统就已在在一种商商业产品品中做到到了这一一点,另另外,在在UCSSD PPasccal之之前也有有这种方方式的先先例,如如在NiiklaausWirrth实实现的PPasccal语语言中就就采用了了这种结结构降低低一些性性能,以以换取更更好的可可移植性性和通用用性的方方法。Javaa的这种种字节码码经过了了许多精精心的设设计,使使其能够够很好地地兼容于于当今大大多数流流行的计计算机系系统,在在任何机机器上都都易于解解释,易易于动态态翻译成成为机器器代码。1.1.3 Javva程序序的运行行机制和和Javv
16、a虚拟拟机计算机高高级语言言类型主主要有编编译型和和解释型型两种,JJavaa是两种种类型的的集合,在在Javva中处处理代码码的过程程如图11-4所所示。图1-44 JJavaa程序的的运行机机制从图1-4中可可以看出出,在JJavaa中源文文件名称称的后缀缀为.jjavaa,之后后通过编编译使*.jaava的的文件生生成一个个*.cclasss文件件,在计计算机上上执行*.cllasss文件,但但是此时时执行*.cllasss的计算算机并不不是一个个物理上上可以看看到的计计算机,而而是Jaava自自己设计计的一个个计算机机JVVM,JJavaa也是通通过JVVM进行行可移植植性操作作的。图
17、1-5 JVM基本原理在Javva中所所有的程程序都是是在JVVM(JJavaa Viirtuual Macchinne)上上运行的的。JVVM是在在一台计计算机上上由软件件或硬件件模拟的的计算机机。Jaava虚虚拟机(JJVM)读读取并处处理经编编译过的的、与平平台无关关的字节节码cllasss文件。Javva解释释器负责责将Jaava虚虚拟机的的代码在在特定的的平台上上运行。JVMM的基本本原理如如图1-5所示示。从图1-5中可可以发现现,所有有的*.claass文文件都是是在JVVM上运运行的,即即*.cclasss文件件只需要要认识JJVM,由由JVMM再去适适应各个个操作系系统。如如
18、果不同同的操作作系统安安装上符符合其类类型的JJVM,那那么以后后程序无无论到哪哪个操作作系统上上都是可可以正确确执行的的。提示:关关于Jaava可可移植性性的简单单理解。有些读者者可能很很难理解解以上的的解释,其其实这个个过程就就类似于于下面的的一种情情景:现在有一一个中国国富商,他他同时要要和美国国、韩国国、俄罗罗斯、日日本、法法国、德德国等几几个国家家洽谈生生意,可可是他不不懂这些些国家的的语言,所所以他针针对于每每个国家家请了一一个翻译译,他说说的话就就只对翻翻译说,不不同的翻翻译会将将他说的的话翻译译给不同同国家的的客户,这这样富商商只需要要说一句句话给翻翻译,那那么就可可以同几几个
19、国家家的客户户沟通了了。1.2 Jaava开开发环境境搭建Javaa的开发发环境主主要使用用JDKK,本书书中使用用的JDDK版本本是JDDK1.66版本。读者可可以直接接从Suun公司司的官方方网站(如如图1-6所示示)中下下载此版版本,网网址为wwww.sunn.coom。图1-66 SSun公公司网站站首页1.2.1 JDKK的安装装与配置置安装JDDK分为为以下两两个步骤骤:(1)首首先要准准备好JJDK的的安装文文件jddk-66u111-wiindoows-i5886-pp.exxe。(2)配配置环境境变量PPathh。在安装JJDK时时会让用用户选择择JDKK和JRRE的安安装目
20、录录,本次次安装目目录使用用的是默默认的安安装目录录,如图图1-77图11-100所示。JDK安安装完成成之后,即即可看到到如图11-100所示的的安装文文件夹,其其中的bbin文文件夹是是将来要要使用的的各种JJavaa命令,但但是这些些命令本本身并不不在Wiindoows环环境之中中,所以以如果要要想使用用这些命命令,则则首先必必须在WWinddowss中注册册此命令令。图图1-77 选选择JDDK的安安装目录录 图1-8 选择JJRE的的安装目目录图1-9 JDKK和JRRE安装装完成 图11-100 JJDK安安装后目目录设置Paath的的流程为为:选择择【我的的电脑】【属性】命令,打
21、开【系统属性】对话框,如图1-11所示,选择【高级】选项卡,单击【环境变量】按钮,打开【环境变量】对话框,在其中可以编辑Path信息,如图1-12所示。在编辑PPathh时,可可以直接接设置JJavaa的安装装路径。即在【环环境变量量】对话话框中单单击【系系统变量量】栏中中的【编编辑】按按钮,弹弹出【编编辑系统统变量】对对话框,在在【变量量值】文文本框的的最后加加上路径径,在加加之前使使用“;”将之前前的路径径分隔开开,如加加入内容容“; D:Jaavajdkk1.66.0_11binn”,如图图1-113所示示。设置完后后单击【确确定】按按钮即可可保存设设置,然然后启动动cmdd命令行行方式
22、,输输入jaavacc,如果果出现如如图1-14所所示的内内容,则则表示JJDK配配置成功功。图1-11 【系系统属性性】对话话框 图图1-112 【环境境变量】对对话框图11-133 设设置paath路路径 图图1-114 JDKK配置成成功演示示注意1:Patth修改改之后要要重新启启动命令令行方式式。有些读者者在进行行环境设设置时可可能会出出现此命命令不是是系统内内部命令令的提示示,有可可能造成成这种问问题的原原因是,在在配置环环境属性性之前命命令行方方式已经经启动,之之后再配配置的PPathh路径,则则此环境境肯定是是无法立立即生效效的,此此时可以以重新启启动命令令行方式式,即可可把新
23、的的设置读读取进来来。注意2:javvac命命令的作作用。javaac.eexe是是Javva本身身提供的的编译命命令,主主要目的的是用来来将*.javva文件件编译成成*.cclasss文件件,此命命令本身身不属于于Winndowws,所所以在使使用时需需要单独独配置,此此命令的的具体用用法将在在后面介介绍。1.2.2 编写第第1个JJavaa程序Javaa程序分分为两种种类型,一一种是AAppllicaatioon程序序,另外外一种是是Appplett程序,其其中有mmainn方法的的程序主主要都是是Apppliccatiion程程序,本本书也主主要使用用Apppliccatiion程程序
24、进行行讲解,AAppllet程程序主要要应用在在网页编编程上,现现在已经经基本上上不再使使用,所所以本书书不再作作任何介介绍。本书还是是以输出出“Helllo Worrld!”字符串串为第11个程序序,代码码如下所所示。范例:HHelllo.jjavaapubllic claass Helllo publlicsstatticvvoidd maain(Strringg arrgs)Systtem.outt.prrinttln(Heelloo Woorldd!);将上面的的程序保保存为HHelllo.jjavaa,然后后按照以以下步骤骤进行操操作:图1-15 运行Hello.java程序(1)在
25、在命令行行方式下下,进入入到程序序所在的的目录,执执行jaavacc Heelloo.jaava命命令,对对程序进进行编译译,编译译完成之之后可以以发现在在目录之之中多了了一个HHelllo.cclasss的文文件,此此文件就就是最终终要使用用的文件件。(2)程程序编译译之后,输输入jaava Helllo,执执行程序序,即可可得到程程序的输输出结果果。具体的操操作过程程可以参参考图11-155完成。程序输出出结果:Helllo WWorlld!程序说明明: 在所有的的Javva AAppllicaatioon中,所所有程序序都是从从pubblicc sttatiic vvoidd maain
26、(Strringg arrgs)开开始运行行的,刚刚接触的的读者可可能会觉觉得有些些难记,在在后面的的章节中中将会详详细讲解解maiin方法法的各个个组成部部分。此时读者者如果对对上面的的程序不不明白也也没有关关系,只只要将程程序在电电脑中输输入,然然后按照照步骤编编译、执执行即可可,在这这里只是是让读者者对Jaava Apppliccatiion程程序有一一个初步步印象,因因为以后后所有的的内容讲讲解的都都将围绕绕Javva AAppllicaatioon程序序进行。提示:注注意程序序中的大大小写。读者在编编写以上上程序时时一定要要注意字字母的大大小写问问题,因因为在JJavaa中是严严格区
27、分分大小写写的。另另外,为为了方便便代码的的运行,建建议在此此处按照照本书所所提供的的代码样样式进行行编写。1.2.3 claassppathh属性的的作用在Javva中可可以使用用settclaassppathh命令指指定Jaava类类的执行行路径。下面通通过一个个例子来来了解cclassspaath的的作用,假假设这里里的Heelloo.cllasss类位于于f:tesst目录录下。在D盘的的命令行行窗口执执行下面面的指令令:setclaassppathh=f:teest图1-16 classpath设置然后在DD盘根目目录下执执行jaava Helllo命命令,如如图1-16所所示。由上
28、面的的输出结结果可以以发现,虽虽然在DD盘中并并没有HHelllo.cclasss文件件,但是是也可以以用jaava Helllo执执行Heelloo.cllasss文件,之之所以会会有这种种结果,就就是因为为在操作作中使用用了seet cclassspaath命命令将类类的查找找路径指指向了ff:ttestt目录,所所以在运运行时,会会从f:teest目目录查找找所需要要的类。提示:cclassspaath与与JVMM的关系系。classspaath主主要指的的是类的的运行路路径,实实际上在在读者执执行Jaava命命令时,对对于本地地的操作作系统来来说就意意味着启启动了一一个JVVM,那那么JVVM在运运行时需需要通过过claassppathh加载所所需要的的类,而而默认情情况下cclassspaath是是指向当当前目录录(当前前命令行行窗口所所在的目目录)的的,所以以会从此此目录下下直接查查找。可能有些些读者在在按照上上述的方方法操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国农用柴油机数据监测研究报告
- 2024至2030年中国便携式太极刀数据监测研究报告
- 2024至2030年中国乙酰氯行业投资前景及策略咨询研究报告
- 2024年中国婚庆礼品市场调查研究报告
- 2024年中国恶甲水剂市场调查研究报告
- 委托融资协议三篇
- 深化班级与家庭的联系与合作计划
- 带孩子免责协议书范本
- 大米抛光粉供货合同书
- 采购验收合同内容
- 医患沟通培训学习课件
- 中国儿童幽门螺杆菌感染诊治专家共识2022
- 胃镜操作及报告
- ESG系列研究报告:可持续航空燃料(SAF)
- 急诊胃镜下的护理配合
- 2024中国电力建设集团(股份)公司总部部门内设机构负责人及以下岗位人员招聘笔试参考题库含答案解析
- (2024年)人体生理解剖学图解
- 2023-2024学年北京市海淀区高二年级上册期中考试化学质量检测模拟试题(含解析)
- 2024年山东青岛城投金融控股集团有限公司招聘笔试参考题库含答案解析
- 人生观的主要内容讲解
- 医院培训课件:《RCA-根本原因分析》
评论
0/150
提交评论