java 第14章分析和总结.docx

上传人:太** 文档编号:86648806 上传时间:2023-04-14 格式:DOCX 页数:58 大小:447.71KB
返回 下载 相关 举报
java 第14章分析和总结.docx_第1页
第1页 / 共58页
java 第14章分析和总结.docx_第2页
第2页 / 共58页
点击查看更多>>
资源描述

《java 第14章分析和总结.docx》由会员分享,可在线阅读,更多相关《java 第14章分析和总结.docx(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关于本课程本书的主要目标是为你提供有关Java应用和Java app lets的面向对象的程 序设计所必需的知识和技能;并讲授Java编程语言句法和面向对象的概念,以及 Java运行环境的许多特性,对图形用户界面(GUIs)、多线程和网络的支持等。 本课程包括了参加 SUN Cert if ie d Jav a Pr og ra mme r 和 SUN Ce rt if ie d Java Deve Io per考试所必备的知识。课程概述课程概述本课程主要包括以下内容:Java编程语言句法应用于Java编程语言的面向对象的概念图形用户界面(GUI )编程创立App Ie t多线程 网络 本课程

2、首先讨论了 Java运行环境和Java编程语言句法,然后阐述了应用于 Java编程语言的面向对象的概念;随着课程的进展还将讨论有关Java平台的更先进的 特性。本课程授课对象应具备运用Java编程语言或其它语言进行基本语言设计的能 力,它是非 程序员 Java 编程 (“Java Pro gra mmi ng for Non Programmers” , SL-1 10)课程的 延续。尽管Java编程语言独立于操作系统,但它所产生的图形用户界面(GUI)却可能依赖于执行其代码穗作系统。本课程中的例题所使用的代码运行于Solari s TM操 作系统,因而本手册中的图形具备Mot if G UI

3、。如果将这些代码运行于W in d ows 9 5操作系统,那么可产生Micro soft Windo ws 9 5 GU I。本课程的内 容适用于所有Java操作系统端口。二、课程图每一模块的课程都从一张课走每一模块的课程都从一张课走开始,使学员可掌握自己的学习进度。全课程设置流程图如下所示:The Java Programming Language BasicsObject-Oriented ProqramminqandiClasses.Language FeaturesException HandlipaI1DqveloDing Graph qal User Interfaces地爆甫唯

4、砌凫WWrEventNjodeLJava平台是如何在其它语言平台上提高性能的?第二节目标完本钱模决的学习后,你应该能够:描述Java编程语言的主要特性描述Java虚拟机的主要功能描述垃圾收集是如何进行的列举由处理代码安全性的Java平台所执行的三大任务定义 Cla ss , Pa cka ge , A pp Ie ts 和 A pp li ca ti o ns 编写、编译并运行简单Java应用程序利用Java技术应用程序编程界面(API)的在线文档来标识Java, la ng包 的方法。参考资料辅助资源 以下参考资料可为本模块所讨论的问题提供更详细的补充 Lin dholm a nd Yell

5、i n. 199 7. The J ava Vir tua I Mac hi ne Spec if ica tio n. Add is on-W es ley.Yelli n, Frank. Low-Le vel Sec ur ity i n Java, white pa per. O nli ne . Ava il ab Ie: : / / jav as oft. com/ sfa q/ver if ier. ht ml.第三节什么是Java编程语言?什么是Java编程语言Java 是:一种编程语言一种开发环境一种应用环境一种部署环境句法与C+相似,语义与Small Talk相似用 来 开发

6、 app Ie ts, 又用来开发sppl ica tio nsJava 是:一种编程语言一种开发环境一种应用环境 一种部署环境J ava编程语言的句法与C+的句法相似,语义那么与Smal I Tai k TM的语 义相似。Java编程语言可被用来创立任何常规编程语言所能创立的应用程序。在 World Wi de Web (WWW)和能够运行称为appl e ts程序的浏览器的 有关介绍中,人们经常提及Java编程语言。Appl et s是一种贮存于WW W 服务 器的用Java编程语言编写雌序,它通常由浏览器下载至喀户系统中,并通过10浏览器运行。A叩lets通常较小,以减少下载时间,它由超

7、文本标识语言(HTML ) 的Web页来调用。Jav a a ppi ica tio ns是一种独立的程序,它不需要任何Web浏览器来执行。它们是一种典型的通用程序;可运行于任何具备Java运行环境的设备中。1.3工 Java编程语言的主要目标Java编程语言的主要目标提供一种解释环境为提高开发速度代码可移植性使用户能运行不止一个活动线程当程序运行时,能动态支持程序改变提供更好的安全性设计Java编程语言的主要目标是提供一种易于编程的语言,从而v消除其它语言在诸如指针运算和存储器部方面影响健壮性的缺陷。利用面向对象的概念使程序真正地成为可视化程序V 为使代码尽可育潴晰合理、简明流畅提供了一种方

8、法Java编程语言的主要目标 设计Java编程语言的主要目标是提供一种易于编程的语言消除其它语言在诸如指针运算和存储器管宁面影响健壮性的缺陷。利用面向对象的概念使程序真正地成为可视化程序 为使代码尽可能清晰合理、简明流畅提供了一种方法Java编程语言的主要目标(续)为获得如下两点益处提供一种解释环境提高开发速度消除编译一雌一装载一测试周期。v 代码可移植性使操作系统能为运向境做系统级调用为运行不止一个活动线程的程序提供了一种方式通过允许下载代码模块,从而当程序运行时也能动占支持程序改变。为那 些保证安全性而辘的代码模期I供了一种癖方法。Java编程语言的主要目标 以下特性使这些目标付好现:Ja

9、va虚拟机(JVM )垃圾收码安全性11Java编程语言的主要目标(续)精心开发的Java技术体系结构为上述目标的实现提供了保证。Java的如下 特性使这些目标得以实现Java虚拟机垃圾收集代码安全性1.3. 2 Java虚拟机Java虚拟机提供硬件平台规范解读独立于平台的已编译的字节码可当作软件或硬件来实现可在Java技术开发工具或Web浏览器上实现Java虚拟机规范为Java虚拟机(JVM )作了如下定义:在真实机器中用软件模拟实现的一种想象机器。Java虚拟机代码被存储在.c la ss文件中;每个文件都包含最多一个pub lie类。Java虚拟机规范为不同的硬件平台提供了一种编译Jav

10、a技术代码的规范,该规范使Java软件独立于平台,因为编译是针对作为脚机的“一般机器”而做,这个“一般机器”可用软件模拟修行于各种现存的1博机系统 也可用硬件来趟。Java虚拟机JVM为以下各项做出了定义指令集(中央处理器CPU )注册集类文件格式栈垃圾收集堆JavJava虚拟机字曲编译器在获取Java应用程序的源代码后,将其生成字节码,它是为JVM 生成 的一种机器码指令。每个Java解释器,不管它是Java技术开发工具,还是可运行 applets的Web浏览器,都可执行JVM。JVM为以下各项做出了定义指令集(相当于中央处理器CPU)注册集类文件格式栈12垃圾收 存储区Java虚拟机由保持

11、适当类型约束的字节码形成代码大局部辉检查在编译代码时完成每个由SUN TM批准的JVM必须能够运行任何附属类文件Java虚拟机(续)JVM的代码格式由紧缩有效的字节码构成。由JVM字节码编写的程序必须懒适当的类型约束。大局部类型检查是在编译时完成。任何附属的Java技术解释器必须能够运行任何含有类文件的程序,这些类文 件应符合Java虚拟机规范中所指定的类文件格式。1-3. 3 垃圾收集垃圾收集- 不再需要的分配存储器应取消分配- 在其它语言中,取消分配是程序员的责任- Java编程语言提供了一种系统级线程以跟踪存储区分配- 垃圾收集可检查和释放不再需要的存储器- 可自动完成上述工作可在JVM

12、实现周期中,产生意想不到的变化许多编程语言都允许随序运行时嫡分配存储器,分配存储器的过程由于语言句法不同而有所变化,但总鹿将指针返回到存储区的起始位置当分配存储器不再需要时(存储器指针已溢出范围),程序或运行环境应取消 分配存储器。在C, C+ +或其它语言中,程序员负责取消分配存储器。有时,这是一件很困难 的事情。因为你并不总是事枷道存储器应在何时被释放。当在系统中没有能够被分配的存储器时,可导致储器时,可导致Java以跟踪每一瘫痪,这种程序蹄作具有存储蹒洞me放用到体虚拟Interpreter中自动进行, 圾收集可在J被 存储器垃圾收鼠在Java技需解除了 I程序员取消分用存储器的壬, 的

13、分配情况。在Java术程序1.31 4 H轮码,的L嬖全性概述以下图显示了 Java技收茎线程检查并释术的运行环境法。13Hardware它可提供三种系缴线程dgM消分配存储器 的赢中,产生意想不JIT 、 codeJava源程序文件通过“编译”,在你的感觉中,就好象是将它们从程序员编写的文本文件格式转换成了一组字节码。字节码被存储在.class文件中。构成Java软件程序的字节码在运行时被加载、校验并在解释器中运行。当运 行applets时,字节码可被下载,然后由建于浏览器中的JVM进行解释。解释器具 备两种功能,一是执行字节码,二是对底层硬件做适当调用。在一些使用Java技术的运行环境中,

14、局部校验过的字节码被编译成原始机器 码并直接运行于硬件平台。这就使Java软件代码能够以C或C+接近的速度运行, 只是在加载时,因为要编译成原始机器码而略有延迟。注意 S UN Mier os ys te ms tm通过采用新的技术,使Java虚拟机的性能已 经有了进一步的提高。这种新型虚拟机被称为HotS potTM虚拟机,它具备了使Java 编程语言能象编译C+一样快速运行的潜力。HotS pot虚拟机对操作系统具有本地多线程支持能力,而不是虚拟多线程。因而,HotS pot虚拟机可保证对一个 应用程序来说,并不一定有代码才能使用这一能力。HotS p ot技术解决了性能与移植 性之间的难

15、题OJava运行环境执行三大任务- 加载代码校验代码- 执行代码代码安全性(续)J ava运行环境-个Java技术的运行环境可运行为JVM编译的代码并执行如下三大任务:加载代码一由类加载器执行校验代码一由字节码校验器执行执行代码一由运行时的解释器执行类加载器类加载器为程序的执行加载所需要的全部类。类力瞰器将局部文件系统的类名空间 与来自用络源的类名空间相别离,以增加安全性。由于局艘总是首先加载,因而可限制 任何“特洛依木马”的应用。当全部类被加载后,可执行文件的存储器格式被确定。这时,特定的存储器地 址被分配给符号引用并创立检索表格。由于存储器格式在运行时出现,因而Java 技术解释器增加了保

16、护以防止对限制代码区的非法进入。字节码校验14可保证代码符合JVM规范- 代码不破坏系统完整性代码安全性(续)字节码校验器Java软件代码在实际运行之前要经过几次测试。JVM将代码输入一个字节码校 验器以测试代码段格式并进行规那么检查一一检查伪造指针、违反对象访问权限蛔 图改那么 象耀的非法代码。注意一一所有源于网络的类文件都要经过字节码校验器代码安全性(续)校验过程字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM规范并且不破坏系统的囊性。如果校验器在完成四遍校验后未返回出错信息,那么以下各点可被保证:类符合JVM规范的类文件格式无访问限制违例代码未引起操作数栈上溢或下溢所有操作代

17、码的参数类型将总是正确的 无非法数据转换发生,如够数解为对象引用对 象域访问是合法的第四节第四节个基本的Java应用程序象其它编程语言一样,Java编程语言也被用来创立应用程序。一个共同的小应用程 序范例是在屏幕上显示字串“Hello World!”。以下代码给出了这个Java应用程 序。1.4. 1 He HoWor IdApp./ /1 ./ / Samp Ie He II oWor Id a ppi ica tio n./ /2 .p ubl ic cl as s Hei loW orl d A pp.p ubl ic s ta ti c v oi d mai n ( Stri ng a

18、 rg s) 3bnt o q*sg &$ tufBcb/ Evuy iif.i., gj.c金 agiexlus All说心ns 011皿1 ernyw ixaleieut nlt CmConstructor SwwmmyCMwMflhd Sommavy图11一个类文档的主要局部包括:类层次类和类的一般目的描述成员变量列表构造函数列表方法列表变量详细列表及目的和用途的描述构造函数详细歹诔及描述方法详细列表及描述练习:基本任务练习目标在本练习里,你将利用Java API文档练习如何识别包、类和方法 并练习标愉入输出方法。你还将编写、编译和运行两个简单的使用这些方法的应用程序。 一、准备理解本模

19、块中提出的概念和术语对理解文件和运用文件信息编写程序至关重要。20二、任务1级:阅读文件你的老师将指导你如何启动API浏览器并翻开Java AP I在线文档的索引页。找至(J java.l an g 包在此包中定义了那些类?在Syste m类中有那些方法? Syste m.out. pr i nt I n 方法是在什么包中定义的?什么是标准输入方法调用?2级:.创立一个Java应用程序使用任意文本雌器,创立一个可打Ep你选定的字串的与HelloW orldApp类似 的应用程序。编译程序并纠正错误。用解释器运行程序。3级:使用标频入和标准输出编写一个称为MyCat的应用程序,它将从stdin中

20、读出一行并将这一行写回 到 std out.无论 stdin 还是 stdout 都在 java.la ng.S ystem 类中。三、检查你的进度在进入下一模块之前,请确认你已经能够:描述Java编程语言的主要特性描述JVM描述垃圾收集是如何 进行的列出由处理代码安全性的Java平台所执行的三个任务定义术语类、包、app Ie ts 和 ap plic a ti on编写、编译并运行一个简单的Java应用程序使用Java技术应用程序编程界面(API)的在线文档识别javaang包中 的方法。四、思考题使用Java编程语言将为你的工作带来什么益处?21第二章标识符、关键字和类型本模块阐述了在J

21、ava技术程序中使用的基本元素,包括变量、关键字、原始类型和类类型。The Java Programming Language Basils阳 MdObject-Oriented ProgrammingObj&cto id 6启3Exception HandlingDeveloping Graphical User InterfacesEukXi 畛ThiAWT IwrtModdCccnpccitfi LZcxyAppletsA mods 匕6MultithreadingCommunications第一节相关问题讨论以下问题与本模块阐述的论题相关。你是如何理僦的?你是如何理解一个对象的?第二节

22、目标完本钱模决的学习后,你应该能够:在一个源程序中使用声明区分有效和禊标识符确认Java技术关键字列出八个原僦型为数字类型和文本类型定义文字值定 义术语 class、obj ec t m em ber v aria ble 和 re fer en ce v aria bl e为一个简单的包含原始成员姬的类创立一个类定义声明类类型变量使用new构造一个对象描述缺省初始化使用点符号访问一个对象的成员变量22描述一个参考变量的意义规定分配类频变量的结果第三节注释注释三种允许的Java技术程序注释风格/c omme nt on one li ne/* c o mme nt o n oneor more

23、 line*/* * d oc time nt ing c omme nt * /概述有三种插入注释的允许风格:/c omme nt on one li ne/* c o mme nt o n o ne or mo re li ne * /* * d oc ume nt ing c omme nt * /紧放在声明(变量、方法或类的声明)之前的文档注释说明,注释应该被放在自 动生成的文档中(由javadoc命令生成的HTML文件)以当作对声明项的描述。注意有关这些注释的格式和javad oc工具的使用,请见JDK1.2 API文件的 do cs / to ol d ocs /wi n3 2 目

24、录2.3. 2分号:块和空白分号、块和空白一个语句是一行用分号(;.)终止的代码total s =a +b +c+ d+e +f ; 一个块是以上括号和下括号为边界的语句集合 x =y +1y =x +1在Java编程语言中,语句是一行由分号(;)终止的代码。 例如totals=a+b+ c+d + e+f ;与下式相同total = a+b +c + d+e+f ;23一个块(bloc k)或一个复合语句是以上括号和下括号()为边界的 语句集合;块语句也被用来组合属于某个类的语句。分号、块和空白(续)分号、块和空白一个块可被用在一个类的定义中p ub li c cla ss Da te in

25、 t d ay;in t mo nth;in t yea r;)块语句可被嵌套Java程序中允许任意多的空白语句块可被嵌套。HelloW or I dA pp类由mai n方法构成,这个方法就是一个 语句块,它是一个独立单元 单元本身可作为在类HelloW orldApp块中的一组事务 之一。其它一些块语句或组的例子如下:/ a b Io ck s ta te men tx = y + 1 ;y = x + 1;Semic ol ons , Bl ock s, a nd W hit es pa ce/ a b Io ck u se d i n a c las s de fi nit io np

26、ub li c c la ss My Da te in t d ay;in t mo nth;in t yea r;)/an exa mp Ie of a b Io ck s ta te merit nes ted wi thi n / a nother block statementwhi Ie ( i I ar ge ) a = a + i;if( a = = max ) b = b + a; / / ne s te d bl oc k is h erea = 0;24在源代码元素之间允许空白,空白的数量不限。空白(包括空格、tabs和新行) 可以改善你的对源代码的视觉感受。.in t x

27、;x = 2 3 * 5 4;i nt xx =23+54;第四节标识符标识符是赋予变量、类和方法的名称可从一个字母、下划线(_)或美元符号($)开始 是大小写区别对待的,且无最大长度在Java编程语言中,标识符是赋予变量、类或方法的名称。标识符可从一个字母、 下划线(_)或美元符号($)开始,随后也可跟数字。标识符是大小写区别对待的并且未 规定最大长度。有效标识符如下:ide nt ifi erus erN a meUser_ name_sys_ va rl$cha ngeJava技术源程序采用有效的16bit双字节字符编码标准(Unic o de),而不 是8 -bit AS C II文本

28、。因而,.一个字母有着更广泛的定义,而不仅仅是a至!J n和A 至!JZ o谨慎对待非ASCII字符,因为Unic ode可支持看似相同而实际不同 的字符。标识符不能是关键字,但是它可包含一个关键字作为它的名字的一局部。例如,thi so ne是一个有效标识符,但thi s却不是,因为thi s是一个Jav a关键字。Java 关键字将在后面讨论。注意包含美元符号($)的关键字通常用的较少,尽管它在BAS IC和 VAX/VMS系统语言中有着广泛的应用。由于它们不被熟知,因而最好防止在标识符中使用它们, 除非有本地使用上的习惯或其他不得已的原因。25第五节 Java关键字表21列出了使用在Ja

29、va编程语言中的关键字。ab st rac t boole a n b reak byt e ca se ca tc h c ha r c lass c ont inue defa ultdoi mpl e me ntsd ouble i mp or te Ise i nsta nc eo f ex te nds i ntfal sei nte rfa cefi nalIo ngfi nallyna tivef Io atnewfornulli fpac kagepr iva tethr owpro tec ted t h ro w spubl ic r et urntra nsie nt t

30、r ueshor ttryst a tic vo id supervo la tileswi tc h w hile sy nc hro nize d this关键字对Java技术编译器有特殊的含义,它们可标识数据类型名或程序构造(co ns tr uc t)名。以下是有关关键字的重要考前须知:tr ue、fa Ise和nu II为小写,而不是象在C+语言中那样为大写。严格地讲,它们不是关键字,而是文字。然而,这种区别是理论上的。无sizeof运算符;所有类型的长度和表示是固定的,不依赖执行。goto和co nst不是Java编程语言中使用的关键字。第六节 基本Java类型Java编程语言定义

31、了八个原始类型、nn 44 ma逻辑类boole an文本类char整数类byte, short, intz long浮点类double z f Ioat2.6- 1 原始类型Java编程语言为八个原嬷据频和一个特殊翘定义了文字值。原嫩型可分为四种:逻辑类 bo ol ea n文本类 char整数类 byte, short, i nt, I ong 浮点类 do ubl ez f Io at2.6. 2 基本2.6. 2 基本Jav a类型.逻辑类boole an逻辑类booleanboolean 数据类型有两种文字值:true和fal26o例如:boolean truth = true上述语

32、句声明变量truth为boolean类型,它被赋予的值为true。逻辑值有两种瓶,即人们经常使用的“ on”和“ off或“ tr ue”和“fa Ise ” 或“ yes ”和“no”,这样的值是用boole an类型来表示的。boo lea n有两个文字 值,即true和fa Is e。以下是一个有关boole an类型变量的声明和初始化:bool ea n truth = true; / /dec lar es the va ria ble truth/as boolea n ty pe a nd a ssigns it/ / th e v al ue tr ue注意在整数类型和bool

33、e an类型之间无转换计算。有些语言(特别值得强调 的是C和C+)允许将数字值转换成逻辑值,这在Java编程语言中是不允许的; bo ol ea n类型只允许使用bool ea n值。2.文本类char 和 String文本类char和Str ingch ar代表一个16bit U nic ode字符 必须包含用单引号()引用的文字 使用以下符号:a t一个制表符u? 一个特殊的Unico de字符,?应严格使用四个 16进制数进行替换使用char类型可表示单个字符。一个char代表一个16-bit无符号的(不分 正负的)Unico de字符。一个char文字必须包含在单引号内()。at一个制表符u?一个特殊的Unicode字符。?应严格按照四个16进制数字进行替换String不是原始类型,而是一个类(class),它被用来表示字符序列。字符 本身符合Unicode标准,且上述char类型的反斜线符号适用于Stri ng。与C和 C+不同,String不能用0作为结束。文本类char和Str ingStri ng不是一个原始数据类型,它是一个类27具有用双引号引用的文字“The quick brow n foxj umpe d ov er the I azy dog. 可按如下情形使用:Stri ng gree ti ng =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁