ITjob就业培训java教材_第1页
ITjob就业培训java教材_第2页
ITjob就业培训java教材_第3页
ITjob就业培训java教材_第4页
ITjob就业培训java教材_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章: Java开始 ITjob就业培训第一章: Java开始 ITjob就业培训 PAGE 14 PAGE 15第一章: Jaava开开始学习目标标Javaa技术的的组成Javaa虚拟机机的主要要功能JAVAA内存垃垃圾自动动回收机机制运行代码码的步骤骤编写、编编译并运运行简单单Javva应用用程序Javaa历史19911年,电电视机,机机顶盒,录录象机的的开发设设计需要要一种可可移植、方便、高效的的计算机机语言。为了满满足这种种需求,由由Sunn公司的的Pattricck HHaugghtoon和Jammes Gosslinng领导导的技术术小组开开发了JJAVAA。上世纪九九十年代代中

2、期,Sun推出了Sun Java Development Toolkits 1.0,简称JDK1.0。JDK1.0是一个功能强大的软件包,可以用来开发小应用程序和多种操作系统(Sun Solaris,WindowsNt,Windows 95,Macintosh)的应用程序。19988年Sunn推出Jaava 2 PPlattforrm,它它定义了了所有JJavaa技术的的概念和和标准,即即包括已已经实现现的技术术也包括括尚未实实现的技技术;即即包括SSun的的实现的的,也包包括其它它公司的的实现。目前,Java 2 SDK1.6是Java 2 Platform的最新定义。这个定义又可以细分为四

3、个版本:标准版:J2SSE(JJavaa SEE),用用于开发发普通的的小应用用程序和和应用程程序。它它是我们们这门课课程要讲讲述的内内容。(Javva SSE的体体系结构构)企业版:J2EEE(JJavaa EEE),用用于企业业级应用用。微型版:J2MME(JJavaa MME),用用于开发发移动电电话,机机顶盒,个个人数字字设备等等。JavaaCarrd:适适用于智智能卡的的Javva平台台。(Javva各版版本应用用领域)Javaa技术概概述任何复杂杂的事物物都可以以分解成成一些相相对简单单的组成成部分。Javva作为为一门丰丰富而复复杂的新新技术,它它由下列列这些技技术层面面组成:J

4、avaa编程语语言:定定义变量量、表达达式、逻逻辑控制制等基本本规则。Javaa类库:Javva 软件件工具包包(SDDK)为为程序员员提供了了几千个个类,包包括基本本的数学学函数、数组和和字符串串、窗口口,GUUI,I/OO,网络络等。Javaa运行环环境:包包括Jaava字字节代码码的加载载器、校校验器以以及Jaava虚虚拟机。Javaa虚拟机机:Jaava技技术出于于跨平台台,可移移植的考考虑,没没有将程程序的源源代码编编译连接接成CPPU的指指令序列列,直接接交给计计算机执执行。JJavaa技术在在不同的的硬件,不不同的操操作系统统之上,定定义了完完全相同同的支持持Javva程序序运行

5、的的虚拟计计算机。Javva源程程序被编编译成字字节(bbytee)代码码,编译译后的文文件名后后缀是.claass文文件,增加一段解说在在Javva虚拟拟机上运运行。Javaa工具:编译器器,注释释器(iinteerprreteer),文文档生成成器等工工具。Javaa小应用用程序:小应用用程序(Applets)是一种贮存于WWW服务器上的用Java编写的程序,它通常由浏览器下载到客户系统中,并通过支持Java运行环境的浏览器运行。它由超文本标识语言(HTML)的Web页来调用。Javaa应用程程序:JJavaa Apppliicattionns是一一种独立立的程序序,它不不需要任任何Wee

6、b浏览览器来执执行。它它们是普普通的应应用程序序;应改为逗号可运行行于任何何具备JJavaa运行环环境的设设备中。其它Jaava程程序:JJavaaBeaan,SServvlett,JSSP等。Javaa技术的的优点Javaa技术取取得今天天这样的的成就,依依赖于这这门技术术的先进进性,JJavaa技术具具有下列列优点:简单、健健壮:jjavaa=(cc+)-+,继继承了cc+语语言的优优点,去去掉了cc+的的难点,又又加入了了新的特特性;许多高高级语言言都要由由程序员员进行指指针运算算和存储储器管理理。这项项工作即即复杂又又容易出出错。JJavaa不需要要程序员员进行指指针运算算和存储储器管

7、理理,简化化了设计计,减少少了出错错的可能能性。面向对象象:Jaava是是面向对对象的程程序设计计语言。与面向向过程的的语言相相比,面面向对象象的语言言更能反反映人类类对世界界的认识识和处理理模式,具具有良好好的代码码重用性性。处理理复杂、庞大而而且不断断变化的的信息系系统,必必须使用用面向对对象的程程序设计计语言。分布式:目前,在在所有软软件产品品中,仅仅供单个个计算机机使用的的单机版版软件所所占的比比例越来来越小。大多数数软件都都可以运运行在网网络环境境中。JJavaa拥有一一个网络络协议对对象库(TCP/IP,HTTP,FTP等),可以象错别字,改为像访问当地文件一样访问Internet

8、上的对象。改进的解解释性:为弥补补解释语语言速度度较慢的的不足,Java采用预编译的办法,将源程序生成字节代码,减轻运行时的解释工作。另一方面,有些Java运行环境采用Just-In-Time(JIT)编译器将字节代码编译成机器码直接运行,这种运行环境对于重复执行的服务器端软件特别有效,可以达到C语言的速度。安全:JJavaa语言在在编译时时删除了了指针和和内存分分配,在在运行时时检查字字节代码码,拒绝绝执行非非法的内内存访问问,超越越权限的的访问等等。可以以防御黑黑客攻击击。平台无关关:Jaava通通过采用用虚拟机机技术真真正实现现了与平平台无关关。Jaava软软件是真真正跨平平台可移移植的

9、。编译过过的JAAVA文文件,即即可以在在winndowwns上上运行,也也可以LLinuux、UUnixx等系统统上运行行。加一段文字解说多线程:允许一一个应用用程序同同时做多多个任务务。动态性:Javva允许许下载代代码模块块,因此此,当程程序运行行时也能能动态升升级。高性能:经过实实际的综综合评测测得出结结论,JJavaa是高性性能的。Javaa虚拟机机Javaa虚拟机机在Jaava运运行环境境中处于于核心地地位。JJavaa虚拟机机使Javaa语言可可以跨多多种平台台运行,保保障了SSUN提提出的wriite oncce, runn annywhheree的特性,其组成成为:指令集(中

10、中央处理理器CCPU寄存器类文件格格式栈垃圾收集集堆存储区Javaa虚拟机机隐藏了了计算机机硬件和和操作系系统的复复杂性。改为逗号使我们们只面对对单一的的支持JJavaa的计算算机。当当我们写写好Jaava源源程序后后,使用用编译器器将源代代码转换换成JVVM的指指令序列列(字节节代码),保保存为.cllasss文件增加文件。执执行Jaava程程序时,JVM负责解释字节代码,JVM的指令转换成真实的机器指令,并执行。自动内存存回收(垃垃圾收集集)垃圾回收收就是将将程序不不再使用用的内存存块释放放出来,以以提供给给其它程程序使用用。程序序运行时时需要占占用一定定内存空空间,当当程序退退出后应应该

11、把占占用的内内存释放放,在cc, cc+语语言中由由程序保保证内存存的释放放,但如如果程序序员忘记记释放内内存,就就会在内内存中“垃圾”增多,影影响其它它程序运运行;JJavaa语言实实现自动动垃圾回回收处理理,减轻轻了程序序员的负负担,杜杜绝了因因内存管管理而导导致的程程序中的的问题。程序员员可以建建议垃圾圾回收,通通过调用用Sysstemm.gcc()实实现。常见垃圾圾收集机机制介绍绍JVM中中内存划划分为:堆栈(Stack)、堆(Heap)、静态存储(Static)大多数垃垃圾收集集使用了了根集(rooot sset)这个概概念;所所谓根集集就量错别字,改为是正在执执行的JJavaa程序

12、可可以访问问的引用用变量的的集合(包括局局部变量量、参数数、类变变量),程序序可以使使用引用用变量访访问对象象的属性性和调用用对象的的方法。垃圾收收集首选选需要确确定从根根开始哪哪些是可可达的和和哪些是是不可达达的,从从根集可可达的对对象都是是活动对对象,它它们不能能作为垃垃圾被回回收,这这也包括括从根集集间接可可达的对对象。而而根集通通过任意意路径不不可达的的对象符符合垃圾圾收集的的条件,应应该被回回收。简简单的说说,就是是没有任任何引用用指向这这块内存存空间,该该空间的的内存就就可以被被回收。增加一段文字说明引用计数数法(RRefeerennce Couuntiing Collleccto

13、rr)一般来说说,堆中中的每个个对象对对应一个个引用计计数器。当每一一次创建建一个对对象并赋赋给一个个变量时时,引用用计数器器置为11。当对对象被赋赋给任意意变量时时,引用用计数器器每次加加1当对对象出了了作用域域后(该该对象丢丢弃不再再使用),引用用计数器器减1,一一旦引用用计数器器为0,对对象就满满足了垃垃圾收集集的条件件。基于引用用计数器器的垃圾圾收集器器运行较较快,不不会长时时间中断断程序执执行,适适宜地必必须 实实时运行行的程序序。但引引用计数数器增加加了程序序执行的的开销,因因为每次次对象赋赋给新的的变量,计计数器加加1,而而每次现现有对象象出了作作用域生生,计数数器减11。Tra

14、ccingg算法(TTraccingg Coolleectoor)基于trraciing算算法的垃垃圾收集集器从根根集开始始扫描,识识别出哪哪些对象象可达,哪哪些对象象不可达达,并用用某种方方式标记记可达对对象,例例如对每每个可达达对象设设置一个个或多个个位。在在扫描识识别过程程中,基基于trraciing算算法的垃垃圾收集集也称为为标记和和清除(marrk-aand-sweeep)垃圾收收集器。comppacttingg算法(Commpacctinng CColllecttor)为了解决决堆碎片片问题,基基于trraciing的的垃圾回回收吸收收了Coompaactiing算算法的思思想,在

15、在清除的的过程中中,算法法将所有有的对象象移到堆堆的一端端,堆的的另一端端就变成成了一个个相邻的的空闲内内存区,收收集器会会对它移移动的所所有对象象的所有有引用进进行更新新,使得得这些引引用在新新的位置置能识别别原来多余一个空格,可删除的的对象。在基于于Commpacctinng算法法的收集集器的实实现中,一一般增加加句柄和和句柄表表。垃圾回收收的几个个特点垃圾收集集发生的的不可预预知性:由于实实现了不不同的垃垃圾收集集算法和和采用了了不同的的收集机机制,所所以它有有可能是是定时发发生,有有可能是是当出现现系统空空闲CPPU资源源时发生生,也有有可能是是和原始始的垃圾圾收集一一样,等等到内存存

16、消耗出出现极限限时发生生,这与与垃圾收收集器的的选择和和具体的的设置都都有关系系。垃圾收集集的精确确性:(aa)垃圾圾收集器器能够精精确标记记活着的的对象;(b)垃垃圾收集集器能够够精确地地定位对对象之间间的引用用关系。前者是是完全地地回收所所有废弃弃对象的的前提,否否则就可可能造成成内存泄泄漏。而而后者则则是实现现归并和和复制等等算法的的必要条条件。所所有不可可达对象象都能够够可靠地地得到回回收,所所有对象象都能够够重新分分配,允允许对象象的复制制和对象象内存的的缩并,这这样就有有效地防防止内存存的支离离破碎。垃圾收集集的实现现和具体体的JVVM 以以及JVVM的内内存模型型有非常常紧密的的

17、关系。不同的的JVMM 可能能采用不不同的垃垃圾收集集,而JJVM 的内存存模型决决定着该该JVMM可以采采用哪些些类型垃垃圾收集集。现在在,HootSppot 系列JJVM中中的内存存系统都都采用先先进的面面向对象象的框架架设计,这这使得该该系列JJVM都都可以采采用最先先进的垃垃圾收集集。代码运行行过程Javaa源程序序通过编译,转换换成字节节码。字字节码被被存储在在.cllasss文件中中。构成Jaava软软件程序序的字节节代码在在运行时时被加载载、校验验并在解解释器中中运行。当运行行Applletss时,字字节码可可被下载载,然后后由浏览览器中的的JVMM进行解解释。解解释器具具备两种

18、种功能,一一是执行行字节代代码,二二是对底底层硬件件做适当当调用。在一些使使用Jaava技技术的运运行环境境中,部部分校验验过的字字节码被被编译成成机器码码并直接接运行于于硬件平平台。这这就使JJavaa软件代代码能够够以接近近C或C+的速度度运行,只只是在加加载时,因因为要编编译成机机器码而而略有延延迟。Javaa技术运运行字节节代码包包含如下下三大步步骤:加载代码码由类类加载器器执行校验代码码由字字节码校校验器执执行执行代码码由运运行时的的解释器器执行(Javva程序序运行的的三大步步骤)类加载器器类加载器器为程序序的执行行,加载载所需要要的类。类加载载器将本本地文件件系统的的类名空空间,

19、与与来自网网络的类类名空间间相分离离,以增增加安全全性。当当全部类类被加载载后,可可执行文文件的存存储器格格式被确确定。这这时,特特定的存存储器地地址被分分配给变变量并创创建检索索表格。由于存存储器格格式在运运行时出出现,因因而Jaava技技术解释释器增加加了保护护以防止止对限制制代码区区的非法法访问。JVM中中有四种种类加载载器,分分别为(本节以下下内容可可以在以以后再理理解):BoottStrrapCClasssLooadeer:启启动类加加载器:虚拟机机启动时时最先加加载系统统加载关关键的运运行类的的加载器器。ExtCClasssLooadeer:扩扩展类加加载器,专专门用来来加载所所有

20、jaava.extt.diirs下下的.jjar文文件。开开发者可可以通过过把自己己的.jjar文文件或库库文件加加入到扩扩展目录录的cllassspatth,使使其可以以被扩展展类加载载器读取取。AppCClasssLooadeer:应应用(系系统)类类加载器器,用来来读取所所有的对对应在jjavaa.cllasss.paath系系统属性性的路径径下的类类以上三个个类在JJDK中中不能查查到,他他们是JJVM底底层使用用的,我我们可以以认为这这三者关关系如下下:BoottStrrapCClasssLooadeer-ExttClaassLLoadder-ApppCllasssLoaaderrJ

21、DK中中定义了了一些CClasssLooadeer类,我我们可以以观察到到继承关关系如下下:ClasssLooadeer-SeccureeClaassLLoadder-URRLCllasssLoaaderr-AAppCClasssLooadeer我们也可可以继承承ClaassLLoadder类类制作自自己的CClasssLooadeer(用用户定义义的类加加载器)。一些关于于ClaassLLoadder的的常用方方法:sun.missc.LLaunncheer.ggetBBoottstrrapCClasssPaath().ggetUURLss();/根根据以上上叙述,应应该是先先获取启启动类路

22、路径再转转成路径径的数组组。MyCllasss.cllasss.geetCllasssLoaaderr();/MMyCllasss是类名名ClasssLooadeer.ggetSSysttemCClasssLooadeer();/获得系系统(应应用)级级类加载载器ClasssLooadeer.ggetSSysttemCClasssLooadeer().geetCllasss();/可可以知道道这个类类加载器器的名字字等了javaa.laang.Thrreadd.geetCoonteextCClasssLooadeer();/获取当当前线程程的上下下文类加加载器。字节代码码校验器器所有的ccla

23、sss文件件都要经经过字节节码校验验器。字字节码校校验器主主要测试试以下内内容:代码段语语法格式式是否正正确?有无违反反规则的的非法代代码?是否违反反对象访访问权限限?是否试图图改变对对象类型型?字节码校校验器对对程序代代码进行行四遍校校验,这这可以保保证代码码符合JJVM规规范并且且不破坏坏系统的的完整性性。如果果校验器器在完成成四遍校校验后未未返回出出错信息息,则下下列各项项要求会会得到保保证:程序代码码所在的的类,符符合JVVM规范范的类文文件格式式。无访问限限制违例例,如访访问本地地文件,访访问网络络等。代码未引引起操作作数错别字,改为堆栈的增加一字说明上溢或或下溢。所有操作作代码的的

24、参数类类型将总总是正确确的。无非法数数据转换换发生,例例如:将将整数转转换为对对象引用用。Javaa安装配置置各平台安安装程序序可以到到SUNN的网站站(jaava.sunnx)下下载,在在安装完完成后应应该进行行配置,通通常集成成开发环环境(IIDE)自自带JDDK或进进行了自自动配置置,如果果我们通通过控制制台编译译或运行行Javva程序序则必须须手动配配置。JDK:是Javva开发发工具包包(J22SE Sofftwaare Devveloopmeent Kitt)的缩缩写,用Javva语言言编写aappllet小小程序和和应用程程序的软软件开发发环境,JJavaa开发者者应该安安装JD

25、DK,并并且通常常JDKK中已包包含一个个JREE拷贝。JRE:是Javva运行行环境 (Jaava Runntimme EEnviironnmennt) 的缩写写。它基基本上就就和Jaava虚虚拟机是是同一个个概念,运运行Jaava程程序的应应该安装装JREE。(JDKK安装目目录示例例)bin:javva常用用开发工工具目录录,例如如javvac,javva,jarr等工具具。demoo: ssun提提供的一一些用于于javva开发发的示范范,如有有关apppleets,jfcc,pluuginn等。inclludee: JJavaa提供用用于c/c+调用的的.h文文件;jre: 对应应版

26、本的的javva运行行环境文文件sampple: jaava案案例。lib: jaava类类库目录录Winddowss环境变变量应设置的的环境变变量包括括:JAAVA_HOMME, PATTH, CLAASSPPATHH。假设J22DK安安装在“C:JDKK1.55”,环境变变量可设设置为:JAVAA_HOOME=C:JDKK1.55CLASSSPAATH=.PATHH=%JJAVAA_HOOME%BIIN;%PATTH%(Winndowws下环环境变量量的设置置)Linuux下环境变变量假设jddk安装装在/hhomee/jddk1.5目录录下,修修改配置置文件 /ettc/pproffil

27、ees ,在在文件的的尾部加加入如下下信息:JAVAA_HOOME=/hoome/jdkk1.55CLASSSPAATH=.PATHH=$JJAVAA_HOOME/binn:错别字,应改为分号$PAATH第一个JJavaa程序编写一个个程序,输输出一行行文本信信息:Wellcomme tto JJavaa Prrogrrammmingg编辑器的的使用Javaa代码的的开发可可以使用用常见的的编辑器器,如:写写字板,Editplus,Ultra Edit,也可以使用专用的开发工具,如:JBuilder, Eclipse, NetBeans,JCreator等。在开始学习时,建议先学习使用带有关键

28、字颜色提示的EditPlus开发Java代码。Edittpluus下的的Javva程序序显示编写程序序1 /这是一一行注释释2 puubliiccllasss Weelcoome 34 puubliicsttatiicvooid maiin(SStriing aargss) 5Sysstemm.ouut.pprinntlnn(WWelccomee tto JJavaa Prrogrrammmingg!);6 /mmainn方法结结束78 /类结结束行1:注注释:用用来说明明程序的的作用行2:开开始声明明一个类类,类名名为Weelcoome, cllasss是JAVVA的关关键字,用用来定义义类

29、,ppubllic为为访问说说明。在在这里我我们声明明了一个个类,类类的名字字为Weelcoome.行3,77:空行行,用来来增加程程序的可可读性行4:是是JAVVA应用用程序必必须包含含的方法法,被称称为入口口方法:程序运运行时从从这里开开始执行行,其形形式必须须是:publlicsstatticvvoidd maain(Strringg arggs)或或者statticppubllicvvoidd maain(Strringg arggs)上面的语语句里,只只能修改改 arrgs这这个字符符串数组组的名字字。stattic 表示直直接能够够加载该该方法运运行。voidd 是方方法的返返回类型型,每个个方法必必须有返返回类型型(除了了构造方方法)。mainn是方法法的名字字,是程程序的入入口调用用的方法法。Striing 是是方法的的参数,必必须是SStriing 数组类类型的。行5:SSysttem.outt.prrinttln(Weelcoome too Jaava Proograammiing!);就是输出出字符串串的,双引号号中的字字符串会会在控制制台输出出。也可以使使用以下下语句输输出一个个对话框框显示信信息:JOpttionnPanne.sshowwMesssaggeDiialoog(nnulll, WW

温馨提示

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

评论

0/150

提交评论