版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java语言基础知识汤一平Java语言的产生1991年Sun公司的工程师为在家用电子产品上进行交互式操作开发了名为Oak的软件,它就是Java语言的前身。Java语言的出现,事实证明已经引起一场软件革命。能实现与环境无关、跨平台等特点,对整个计算机产业产生深远的影响,对传统的计算模型提出了新的挑战。Java相关内容相关内容441,000,000条(条(2008年年9月月15日日google检索)检索) 982,000,000 (2012年9月20日google检索)检索) Java程序的下载及执行过程Java编译器将Java源程序编译成字节代码;客户机的浏览器与服务器连接,要求下载Java字节
2、码文件;服务器将字节码文件传给客户机;客户机上的Java解释执行字节代码;在浏览器上显示并与用户交互。浏览器服务器Java解释器字节代码字节代码Java程序Java语言的特点及其优势(1)使用简单 (2)面向对象(3)分布性 (4)鲁棒性(5)安全性 (6)体系结构中立(7)可移植性 (8)解释执行(9)高性能 (10)多线程(11)可扩展性Java丰富的类库(满足了网络化、多线程、面向对象系统的需要)Java 与C、C+语言的区别(1)全局变量 (2)Goto(3)指针 (4)内存管理(5)数据类型的支持 (6)类型转换(7)头文件 (8)结构和联合(9)预处理Java应用程序结构Appli
3、cation为独立的应用程序,它的执行不依赖于其它的程序,只要有Java解释器就可以运行Application。Java Application可以同使用其它语言编写的应用程序一样控制和使用计算机的资源。Applet为Java的小程序,它是动态的、安全的、跨平台的网络应用程序。Java Applet不能独立运行,只能由支持Java的浏览器来运行它。Java Applet嵌入HTML语言,通过主页发布到Internet。网络用户访问服务器的Applet时,这些Applet从网络上进行传输,然后在支持Java的浏览器中运行。Java应用程序执行机制Java程序代码是在一个Java虚拟机上运行;Ja
4、va虚拟机不仅可以由软件实现,也可以由硬件来实现。Java应用程序和Java AppletJava基本APIJava标准扩展APIJava基本类Java标准扩展类Java虚拟机移植接口适配器适配器操作系统操作系统浏览器硬件硬件硬件Java OSJava基础类库抽象窗口工具包(Abstract Windowing Toolkit);新的图形界面类库(Swing);支持二维图形的类库(Java 2D);支持拖放的类库(Drag and Drop);支持易用性的类库(Accessibility)。Java 2的新特性Java IDL(使得Java对象可以和CORBA对象进行交互)容器类库(Colle
5、ctions)Java扩展框架(Java Extensions Framework)引用对象(Reference Objects) 包版本识别(Package Version Identification)Java 2对已有特性的增强(1)安全性 (2)Java Beans(3)映象 (4)声音(5)Java档案文件JAR(6)远程方法调用和串行化(7)Java数据库连接类库(JDBC)(8)Java本地接口 (9)提高了性能(10)重要的语言本身变化(11)工具第一章第一章Java基础基础Java是一种基于网络的通用型面向对象的语言,是一种基于网络的通用型面向对象的语言,适合编写各种各样的软
6、件。适合编写各种各样的软件。最新版本最新版本j2se5.0版版 11Java的定义的定义(狭义)(狭义)Java是是Sun公司开发的一种编程语公司开发的一种编程语言。它既可以作为一种通用的编程语言,也可言。它既可以作为一种通用的编程语言,也可以用来创建一种可通过网络发布的、动态的二以用来创建一种可通过网络发布的、动态的二进制内容。进制内容。(广义)(广义)Java不仅仅指不仅仅指Java编程语言本身,还编程语言本身,还包括一个客户机包括一个客户机/服务器(服务器(C/S)模式下的开发)模式下的开发和编程环境。从某种意义上来讲,和编程环境。从某种意义上来讲,Java就是一就是一个个WWW应用环境
7、。应用环境。在在Java的的C/S环境中,服务器一端是一个完整环境中,服务器一端是一个完整的的Java开发环境,开发环境,Java开发环境既包括编译开发环境既包括编译器又包括解释器。器又包括解释器。以以Sun的的JDK1.3.1_01版本为开发环境,讲述版本为开发环境,讲述Java的基本内容并介绍的基本内容并介绍Java2的一些新特性。的一些新特性。Java2Platform,StandardEdition,v1.5(J2SE)自自1998年年12月首次发布以来,月首次发布以来,j2se被下载的次数被下载的次数估计达估计达1.5亿次,表明了亿次,表明了java技术已经主宰了技术已经主宰了企业和
8、桌面系统领域。企业和桌面系统领域。(http:/)1.2Java的特点的特点Java是一种简单的、分布式的、编译解释型的、是一种简单的、分布式的、编译解释型的、健壮的、安全的、可移植的、高性能的语言。健壮的、安全的、可移植的、高性能的语言。可移植性可移植性(1)程序的可移植性:指程序不经过修改而在)程序的可移植性:指程序不经过修改而在不同的硬件或软件平台上运行的特性。不同的硬件或软件平台上运行的特性。(2)可移植性在一定程度上决定了程序的可应)可移植性在一定程度上决定了程序的可应用性。用性。(3)可移植性包括二个层次:源代码级和二进)可移植性包括二个层次:源代码级和二进制级的可移植性。制级的可
9、移植性。C、C+仅有一定的源代码级的可移植性。仅有一定的源代码级的可移植性。多道系统的多道可执行程序多道系统的多道可执行程序BinaryFile(Pentium) YourcodeCompiler(Pentium)Compiler(PowerPC)Compiler(SPARC)BinaryFile(PowerPC)BinaryFile(SPARC)Java程序程序JavaInterpreter(Pentium)YourcodeCompiler(Pentium)Compiler(PowerPC)Compiler(SPARC)JavaInterpreter(PowerPC)JavaInterpre
10、ter(SPARC)JavaBytecode(PlatformIndependent)面向对象面向对象Java是面向对象的。面向对象的编程语言支持三个概是面向对象的。面向对象的编程语言支持三个概念:念:封装、多态性和继承封装、多态性和继承对象有(对象有(属性属性:数据:数据和和行为行为:程序代码):程序代码)属性和行为它们共同构成计算机程序。属性和行为它们共同构成计算机程序。面向对象的编程语言支持公式:面向对象的编程语言支持公式:程序程序=对象对象+消息消息Java的面向对象的概念是从的面向对象的概念是从C+继承的。继承的。Java包括一包括一组类库,该类库提供基本数据类型,系统输入与输出组类
11、库,该类库提供基本数据类型,系统输入与输出能力以及其他实用函数。能力以及其他实用函数。 稳定性和安全性稳定性和安全性(1)C+程序在稳定性方面的问题在于其程序在稳定性方面的问题在于其指针的使用和缺乏自动的内存管理。指针的使用和缺乏自动的内存管理。Java为此有三个措施:为此有三个措施:a.Java不支持指针数据类型不支持指针数据类型b.提供了数组下标的检查机制提供了数组下标的检查机制c.提供自动内存管理机制提供自动内存管理机制(2)Java的语言特征和运行时环境保证了的语言特征和运行时环境保证了Java代码具有其良好的语言特性。代码具有其良好的语言特性。Java还提供了以下安全保障机制:还提供
12、了以下安全保障机制:字节码校验器字节码校验器运行时内存布局运行时内存布局类装载器类装载器文件访问限制文件访问限制 简单易学简单易学(1)Java的风格类似于的风格类似于C+,在一定意义上它是,在一定意义上它是C+的一个变种。的一个变种。(2)Java摈弃了摈弃了C+中容易引发错误的地方。如中容易引发错误的地方。如指针、内存管理等。指针、内存管理等。(3)Java提供了自动内存垃圾搜集机制,减轻了提供了自动内存垃圾搜集机制,减轻了程序员的进行内存管理的负担,有助于减少软件错程序员的进行内存管理的负担,有助于减少软件错误。误。(4)Java是完全面向对象的,它是最容易学习是完全面向对象的,它是最容
13、易学习的面向对象的编程语言之一,同时它还提供了的面向对象的编程语言之一,同时它还提供了大量可重用的类库。大量可重用的类库。说明:说明:Java的简单性是以增加系统的复杂性为代价的。的简单性是以增加系统的复杂性为代价的。1.3Java程序程序1、Java程序的类型程序的类型application它们类似于传统的它们类似于传统的C和和C+程程序。序。applets这些程序运行在网页上并且需要一这些程序运行在网页上并且需要一个驱动的浏览器。如:个驱动的浏览器。如:Sun的的HotJava,Microsoft的的IE,网景的,网景的NetscapeNavigatorServletsServlets没有
14、图形化的用户界面。没有图形化的用户界面。它们普遍用于扩展它们普遍用于扩展Web服务器的功能。服务器的功能。package包是能被应用程序和包是能被应用程序和applets共享共享的类的集合。的类的集合。 2、applets和和application1、Javaapplication:不需:不需WWW浏览器支持就浏览器支持就可以直接运行的可以直接运行的Java程序。程序。执行过程:执行过程:先由先由Javacompiler对源代码进行编译,然后由对源代码进行编译,然后由Java解释器(解释器(interpreter)解释执行。)解释执行。2、Javaapplet:在网络浏览器中执行的应用程:在网
15、络浏览器中执行的应用程序。它主要应用于序。它主要应用于WWW的的C/S环境。环境。执行过程:执行过程:编写好的编写好的applet交给交给Javacompiler生生成成可执行的字节码可执行的字节码放入放入HTMLWeb页页中中浏览器浏览浏览器浏览3、在、在HTML页面嵌入页面嵌入Javaapplet把把applet放入到放入到HTML文件中文件中例子:一个简单的例子:一个简单的HTML文件文件HelloJava说明:说明:1、以、以APPLET开头的行引起启动支持开头的行引起启动支持Java的的Web浏浏览器装入和使用览器装入和使用“Helloworld.class”。2、所有的被编译的、所
16、有的被编译的Javaapplets以以.class扩展。扩展。3、CODE属性指定属性指定applet的类名,的类名,WIDTH和和HEIGHT属性指定该属性指定该applet的象素尺寸。的象素尺寸。观察观察applet:一旦一旦applet已作为引用包含在已作为引用包含在HTML的页上,需要的页上,需要一个与一个与Java兼容的网页浏览器来观察它,若没有兼容的网页浏览器来观察它,若没有合适的,可以使用合适的,可以使用AppletViewer程序程序(Java开开发工具的一部分)来观察。发工具的一部分)来观察。1.4JAVA虚拟机虚拟机-JVM1、什么是、什么是Java虚拟机虚拟机Java虚拟
17、机(虚拟机(JVM)-JavaVirtualMachine,它是一个虚构出来的计算机,是通过在实际的它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现计算机上仿真模拟各种计算机功能模拟来实现的。的。Java虚拟机有自己完善的硬件架构,如处虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系理器、堆栈、寄存器等,还具有相应的指令系统。统。2、为什么使用、为什么使用Java虚拟机?虚拟机?Java语言最重要的特点就是可以在任何操作系语言最重要的特点就是可以在任何操作系统中运行统中运行-跨平台特性。使用跨平台特性。使用Java虚拟机就是虚拟机就是为了
18、支持与操作系统无关,在任何系统中都可为了支持与操作系统无关,在任何系统中都可以运行。以运行。3、Java虚拟机的基本原理虚拟机的基本原理Java虚拟机屏蔽了与具体操作系统平台相关的虚拟机屏蔽了与具体操作系统平台相关的信息,使得信息,使得Java语言编译程序只需生成在语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。在多种平台上不加修改地运行。Java虚拟机在虚拟机在执行字节码时,实际上最终还是把字节码解释执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。成具体平台上的机器指令执行。1.5J
19、DK工具工具Java开发工具箱开发工具箱(JDK-JavaDevelopmentKit)是是Sun公公司为用户提供的集成和执行司为用户提供的集成和执行applets和应用程序的工具和应用程序的工具,一种用于构建在一种用于构建在Java平台上发布的应用程序、平台上发布的应用程序、applet和组件的开发环境。和组件的开发环境。JDK是一切是一切java应用程序的基础,所有的应用程序的基础,所有的java应用程序是应用程序是构建在这个之上的。它是一组构建在这个之上的。它是一组API,也可以说是一些,也可以说是一些javaClass。javac 编译器编译器可以用任何文字编辑器创建可以用任何文字编辑
20、器创建Java程序,文件名必须有程序,文件名必须有扩展名扩展名.java。每一个文件(源代码)最多有一个。每一个文件(源代码)最多有一个public类说明。该源代码由类说明。该源代码由javac编译器转换成字码。编译器转换成字码。.java文件文件javac编译器编译器.class文件文件语法:语法:javacjava 翻译器翻译器java翻译器用于执行编译过的翻译器用于执行编译过的Java应用程序。应用程序。语法:语法:javaappletviewer Applets是被嵌入在网页里的是被嵌入在网页里的Java程序,可以用程序,可以用Web浏览器运行浏览器运行applets。appletviewer可运可运行行applets而不必运行而不必运行Web浏览器。浏览器。语法:语法:appletviewerjavap反汇编程序反汇编程序javap
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年农机安全网格化管理知识试题
- 烈火无情大学生演讲稿
- 勇敢跨出舒适圈的演讲稿
- 同心抗议青春有我演讲稿
- 晚期先兆流产的家庭支持
- 建设单位工地复工演讲稿
- 阑尾炎术后伤口感染的预防与护理
- 校级领导竞争上岗演讲稿
- 手术室护理人员的培训体系
- 手术后患者的呼吸评估方法
- 2026北京航空航天大学 机械工程及自动化学院聘用编专职事务助理、F岗招聘1人考试备考题库及答案解析
- 网络安全培训教材与教学大纲(标准版)
- 《DLT 2976-2025柔性低压直流互联装置技术规范》专题研究报告
- 医学人文培训课件
- 学堂在线 雨课堂 学堂云 科研伦理与学术规范 期末考试答案
- 2026年商丘学院单招(计算机)测试模拟题库附答案
- 机场防鸟撞培训大纲
- 医院培训课件:《中医护理文书书写规范》
- 涉外侵权课件
- 国企合规风控培训课件
- 肿瘤科医疗质量与安全管理
评论
0/150
提交评论