JAVA_01Java概述与应用.ppt_第1页
JAVA_01Java概述与应用.ppt_第2页
JAVA_01Java概述与应用.ppt_第3页
JAVA_01Java概述与应用.ppt_第4页
JAVA_01Java概述与应用.ppt_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

1、JAVA语言程序设计,杭州电子科技大学管理学院柳毅liuyi,第一章概述,JAVA的发展史JAVA的特征JAVA的语法机制JAVA运行系统JAVA应用JAVA程序示例,Java的起源,Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C+,但C+太复杂,安全性差,最后基于C+开发了一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾以此投标一个交互式电视项目,但结果被SGI打败。可怜的Oak几乎无

2、家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。Java的取名也有一则趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。,JavaCoffee,JamesGosling,Java的魔力,面对Java,可从两方面对待:语言平台Java是一门优秀的面向对象

3、编程语言提供了许多让程序员得以轻松表达面向对象技术与思维的语言关键词如:class,abstract,interface,extends,implements,public,protected,private,final,static,finalize提供了条理清晰、结构分明的文件组织方式如package和import拥有严禁而灵活的RTTI和Reflection机制,Java平台的三个版本,J2SEJava2Platform,StandardEditionJ2MEJava2Platform,MicroEditionJ2EEJava2Platform,EnterpriseEdition下载网址

4、JDK(JavaDevelopmentKit)开发工具,Javac及基础核心类运行环境,java及基础核心类,J2SE,以Web为中心的客户端或服务器端的软件开发,以前称为JDK1.2,J2SE的实现:Java2SoftwareDevelopmentKit(SDK),StandardEdition+Java2RuntimeEnvironment,StandardEdition,a,a,客户机/服务器结构(C/S),a,a,由两部分组成,即客户应用程序和数据库服务器程序;服务器被启动,就随时等待响应客户程序发来的请求;当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发

5、出请求,服务器程序根据预定的规则作出应答,送回结果。,J2ME,针对消费类的电子设备如蜂窝电话、数字置顶盒、汽车导航系统等。语言精简、运行环境高度优化。,J2ME的位置,J2EE,开发企业级和服务器端的应用。J2SE+EnterpriceJavaBeans(EJB),JavaServletsAPI+JavaServerPages(JSP).,J2EEApplicationModel,什么是J2EE,支持以构件化的方法开发、部署、管理多层结构的分布式企业(Web)应用提供一种统一的、开放标准的多层平台构件依赖于系统级实体容器(Container)的运行时支持。容器提供:生命周期管理构件的部署为构

6、件的运行指派线程(构件不是独立运行的)许多构件行为都可以在部署时以声明的方式进行定制,J2EE平台技术,应用构件(组件)由开发人员实现,构成应用系统运行在J2EE平台上包含:客户端构件AppletsApplicationClients服务端构件Web构件(Servlets,JSPs)EJBs,J2EE平台技术,服务J2EE应用构件所使用的功能由J2EE平台提供商实现,分为:ServiceAPI(开发时使用)运行时服务通信支持协作构件之间的通信由Container提供,a,a,浏览器/服务器结构(B/S),a,a,客户层(browser)用户接口和用户请求的发出地,典型应用是网络浏览器;服务器层

7、(webserver)典型应用是Web服务器和运行业务代码的应用程序服务器数据层(datatier)典型应用是关系型数据库和其他后端(back-end)数据资源,如Oracle和LDAP等。,优秀的服务器语言Java,Java语言,Java语言是由Sun公司于1995年推出的编程语言,一经推出,就赢得了业界的一致好评,并受到了广泛关注。Java语言适用于Internet环境,目前已成为开发Internet应用的主要语言之一。它具有简单、面向对象、可移植性、分布性、解释器通用性、稳健、多线程、安全和高性能等优点。其中最重要的就是实现了跨平台运行,这使得应用Java开发的程序可以方便地移植到不同的

8、操作系统中运行。,Java语言,在Java语言中,最小的单位是类,不允许在类外面定义变量和方法,所以就不存在所谓的“全局变量”这一概念。在Java类中定义的变量和方法分别称为成员变量和成员方法,其中成员变量也叫做类的属性。在定义这些类的成员时,需要通过权限修饰符来声明它们的使用范围。Java语言编写的程序应被保存为后缀名为.java的文件,然后编译成后缀名为.class的字节码文件,最终通过执行该字节码文件执行Java程序。,JavaDevelopmentPlatform,我们为什么要用Java,因为Java是简单的面向对象的健壮的安全的解释的与平台无关的多线程的动态的语言,我们为什么要用Ja

9、va,简单的Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在三个方面:1、Java的风格类似于C+,因而C+程序员初次接触Java语言,就会感到很熟悉。从某种意义上讲,Java语言是C及C+语言的一个变种,因此,C+程序员可以很快地掌握Java编程技术。2、Java摒弃了C+中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。3、Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。,我们为什么要用Java,面向对象的面向对象可以说是Java最重要的特性,所以它支持继承、重载、多态等面向对象的特性。Java语言的设

10、计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,我们为什么要用Java,健壮的Java致力于检查程序在编译和运行时的错误。Java也是一种强类型的语言,其类型检查比C+还要严格。类型检查帮助我们检查出许多开发早期出现的错误。Java自己负责内存管理,提供了垃圾内存回收机制,有效的避免了C+中最头疼的内存泄漏问题。,我们为什么要用Java,安全的Java的安全性可从两个方面得到保证。一方面,在Java语言里,删除了指针和释放内存等C+功能,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们从网上下载Java代码在本地执行时,Java的

11、安全架构能确保恶意的代码不能随意访问我们本地计算机的资源,例如:删除文件,访问本地网络资源等操作都是被禁止的。,Java特征-安全性,在语言和运行环境中引入了多级安全措施:Java的内存分配和引用模型对于程序员透明,完全由底层的运行系统控制;,内存布局与C、C+不同,不是由编译器决定,而是运行系统根据所在的硬件平台的特性决定;取消了C、C+的指针,JAVA编译器通过符号指针来引用内存,由JAVA运行系统在运行时将符号指针具体解释为实际的内存地址。,字节码验证。运行系统引入字节码验证器,其中包含简单的规则验证程序,以确保遵循下列规则:,Java特征-安全性,不存在伪造的指针;未违反访问权限;严格

12、遵循对象访问规范来访问对象;合适的参数调用方法;没有栈溢出,我们为什么要用Java,解释的Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。而C+程序是编译执行的,C+程序代码被编译为本地机器指令,然后执行。,Java特征-半编译,半解释,Java特征-半编译,半解释,编译器编译,JAVA源程序,字节码,解释器解释执行,优点:兼具编译执行的效率优势和解释执行的灵活性;提高了应用程序的可移植性:源程序、中间代码,我们为什么要用Java,与平台无关的Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有

13、Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机上运行。,Java特征-多线程,JAVA在语言级嵌入对并发的支持功能,具体机制就是多线程。线程是比进程更小、更经济的并发执行单位,不拥有单独的内存空间。,JAVA中线程的同步采用C.A.R.Hoare的临界区保护规则。,JAVA线程执行中被映射到实际的操作系统线程。,Java特征-动态特性,JAVA程序的基本组成单元-类是运行时动态装载的。使JAVA可以动态地维护应用系统及其支持类之间的一致性。,“一次编程,到处运行”-WORA可移植性源于两方面:Java的半编译、半解释的特征Java

14、采用标准的独立于硬件平台的数据类型,Java特征-可移植性、跨平台,Java的跨平台是通过Java虚拟机(JVM)来实现的。,“一次编译,到处运行”的原理,Java特征-可移植性,JAVA虚拟机,JVM的意义:保证不同平台上的JAVA运行系统功能统一JVM的定义:Animaginarymachinethatisimplementedbyemulatingitinsoftwareonarealmachine.CodefortheJavaVirtualMachineisstoredin.classfiles.,JVM规范定义了一组抽象的逻辑组件,包括:指令集;寄存器组:程序计数器、栈顶指针等;栈结

15、构:提供各种参数等;垃圾收集器;存储区:存放字节码、符号表的方法代码,JVM组成部分,JAVA运行系统是各供应商对JVM的具体实现。对运行系统的设计与实现的要求:必须支持SUN的.class文件结构必须支持字节码定义必须支持JVM规范使Java运行系统功能是统一的,并且只能执行统一格式的字节码.,JVM与JAVA运行系统,两种应用程序Javaapplication:编译器编译运行Javaapplet:编译器编译编写HTML文件把Applet嵌入其中浏览器中运行类库APIJavaAPI是SUN提供的用Java语言开发的类集合。JavaAPI包括几十个包,常用的有:java.lang,java.i

16、o,java.util,java.awt,java.applet等。,JAVA运行系统,Java编程语言,Java平台,Java核心类包举例,Java.langJAVA语言的核心类组成,包括了基本数据类型和出错处理方法等。Java.ioJAVA语言的标准I/O库Java.util工具类,如Date等。J实现网络操作。Java.awt-(AbstractWindowToolkit)创建用户界面。Java.applet支持Applet开发。,屏幕上显示一句话的Java程序知识要点Java程序编写与运行类定义main方法配置开发环境实例编写程序,从屏幕输出一句话Helloworld!。,HelloW

17、orldApp.java:PublicclassHelloWorldApppublicstaticvoidmain(Stringargs)System.out.println(“HelloWorld!”);,1详细设计,Java程序编写、编译过程,main声明-Java程序入口点格式publicstaticvoidmain(Stringargs)main方法是应用程序的入口点,它可以接受命令行参数。扩号()中的Stringargs表示命令行的第一个参数、第二个参数,分别保存在String(字符串)变量args0、args1中。或者说args是保存命令行参数的字符串数组。源文件的名字与main(

18、)方法所在的类名相同,扩展名必须是.java。,2输出文字编码实现,System.out.println是Java输出语句,输出后换行。输出的文字,需用双引号扩起来。System.out.print是另一条输出语句,不同之处是它输出后不用换行。,源程序是一个HelloWorld类,必须存入名为HelloWorld.java文件中。编译源程序的命令是javac.exe,如果编译成功,会产生一个和源程序同名的可执行的.class文件。执行编译好的程序命令是java.exe。运行结果如下:,1)源代码注释/*text*/:编译器忽略从/*到*/之间的所有内容。/text:编译器忽略从/到行尾的所有内

19、容。2)类定义面向对象的程序思想是Java语言的核心。所谓对象就是客观存在的事物,如张三,李四等,以及具体的某台电脑、某本书等。这些对象总是可以按照一定的特征划分为不同的类。如张三,李四属于人“类”,再如电脑类,书类等。Java中为描述客观存在的一个个对象,就必须首先从定义类开始。Java中类定义的最基本形式是:classname.关键字class开始名为name的类的类定义,Java的类名一般都以大写字母开始。类一般包含属性和方法。,1.5Java与JSP开发环境的搭建,JSP与Java的运行环境JDK的安装与配置Tomcat的安装与启动,Java与JSP的运行环境,JDK(JavaDeve

20、lopKit,Java开发工具包)包括运行Java程序所必须的JRE环境及开发过程中常用的库文件。在使用JAVA或JSP开发网站之前,首先必须安装JDK,目前JDK的最新版本为jdk1.6.0_03。,常见的Java开发环境,从网络上直接下载JDK(JavaDeveloperKit),并利用命令行方式操作javac(编译器);java(解释器)Java集成开发环境(IDE)JBuilder、Eclipse、JCreator,1JDK的下载首先下载JDK1.3.1(JDKJDK1.3.1的下载页面为:,a,a,安装JDK1.3,JDK1.3的安装,a,a,a,a,a,a,3JDK的环境配置在使用

21、JDK以前,还必须配置环境变量,下面以Windows系统为例分别说明。(1)Windows2000/NT(2)Windowsxp桌面上选择“我的电脑”(右键)属性高级环境变量,然后选择“系统变量”“新建”,在JAVA_HOME变量名中输入C:JDK1.3.1;,4)配置开发环境,用命令“path=%path%;C:j2sdk1.4.2bin”添置一个路径,见下图:,设置类环境classpath。一般情况下tools.jar和dt.jar是需要放在classpath环境中的。,4JDK的使用JDK使用包括下面3个过程。(1)创建与编辑源代码(2)编译Java程序(3)解释执行Java程序,pub

22、licclassHelloJAVApublicstaticvoidmain(Stringsrg)System.out.println(HelloJAVA!);,JSP的运行环境,使用JSP进行开发,需要具备以下对应的运行环境:Web浏览器、Web服务器、JDK开发工具包以及数据库。下面分别介绍这些环境。,1Web浏览器浏览器主要用于客户端用户访问Web应用的工具,与开发JSP应用不存在很大的关系,所以开发JSP对浏览器的要求并不是很高,任何支持HTML的浏览器都可以。,JSP的运行环境,2Web服务器Web服务器是运行及发布Web应用的大容器,只有将开发的Web项目放置到该容器中,才能使网络中

23、的所有用户通过浏览器进行访问。开发JSP应用所采用的服务器主要是Servlet兼容的Web服务器,比较常用的有ORACLEBEAWebLogic、IBMWebSphere和ApacheTomcat等。,JSP的运行环境,Weblogic是BEA公司的产品,它又分为WebLogicServer、WebLogicEnterprise和WebLogicPortal系列,其中WebLogicServer的功能特别强大,它支持企业级的、多层次的和完全分布式的Web应用,并且服务器的配置简单、界面友好,对于那些正在寻求能够提供Java平台所拥有的一切的应用服务器的用户来说,WebLogic是一个十分理想的

24、选择。,JSP的运行环境,Tomcat服务器最为流行,它是Apache-Jarkarta开源项目中的一个子项目,是一个小型的、轻量级的、支持JSP和Servlet技术的Web服务器,它已经成为学习开发JSP应用的首选。目前Tomcat的最新版本为apache-tomcat-6.0.16。,首先下载jakarta-tomcat-5.0.30.zip,之所以下载免安装版的好处是可以使用多个Tomcat(jakarta-tomcat-5.0.30.zip的下载页面为:,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,活动3:设置系统的“环境变量”变量名:JAVA_HOME,C:jdk1.3变量名:TOMCAT_HOME,D:Tomcatjakarta-tomcat-4.0变量名:CLASSPATH,变量值C:jdk1.3jrelibrt.jar;.;变量名:PATH变量值:C:jdk1.3bin注:在Win9X中,编缉Autoexec.bat文件。,a,a,活动4:测试Tomca

温馨提示

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

评论

0/150

提交评论