《教学课件第一章 Java概述.ppt》由会员分享,可在线阅读,更多相关《教学课件第一章 Java概述.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、PPT模板下载:/moban/ 行业PPT模板:/hangye/ 节日PPT模板:/jieri/ PPT素材下载:/sucai/PPT背景图片:/beijing/ PPT图表下载:/tubiao/ 优秀PPT下载:/xiazai/ PPT教程: /powerpoint/ Word教程: /word/ Excel教程:/excel/ 资料下载:/ziliao/ PPT课件下载:/kejian/ 范文下载:/fanwen/ 试卷下载:/shiti/ 教案下载:/jiaoan/ 字体下载:/ziti/ 教学课件第一章 Java概述Java语言程序设计第一章第一章辽宁机电职业技术学院辽宁机电职业技术学
2、院Designed By Chiyon2008本章目标平台与平台无关的应用程序平台与平台无关的应用程序3 3了解了解 Java 的运行机制的运行机制44JVM(Java虚拟机)虚拟机)3 5了解了解 Java 程序的基本结构程序的基本结构46机器语言与高级语言机器语言与高级语言2 2Java语言的特点和优点语言的特点和优点17掌握如何编译和运行掌握如何编译和运行 Java 程序程序辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java发展史v 1990 年年Sun 公司的公司的 James Gosling等人开始开发名等人开始开发名称为称为 Oak 的语言
3、。希望用于控制嵌入在有线电视交的语言。希望用于控制嵌入在有线电视交换盒、换盒、PDA(Personal Digital Assistant 个人数字助个人数字助理理)、家用电器家用电器等的微处理器。等的微处理器。 v 1993 年交互式电视和年交互式电视和 PDA 市场开始滑坡,而市场开始滑坡,而 Internet 正处于增长时期,因此正处于增长时期,因此Sun 公司将目标市场公司将目标市场转向转向 Internet 应用程序。应用程序。v 1994年将年将Oak语言更名为语言更名为Java。(。(java音译为音译为“爪爪哇哇”,是印尼一个盛产咖啡的岛屿),是印尼一个盛产咖啡的岛屿) 199
4、5年正式推年正式推出出v 1995年年Sun 公司的公司的 HotJava 浏览器问世。浏览器问世。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008什么是什么是 JavaJava 是一种跨平台的,纯面向对象的编程语言。是一种跨平台的,纯面向对象的编程语言。 Java 主要应用在基于主要应用在基于 WEB 的程序中。的程序中。Java 在客户端可用来生成两类程序:在客户端可用来生成两类程序:应用程序(应用程序(Application)、 小应用程序(小应用程序( Applet )Java 既是一种编译执行的语言,既是一种编译执行的语言,也是一种解释执行的语言。
5、也是一种解释执行的语言。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java的基本特点的基本特点3-1vJava提供了包容广泛的例程库,可处理像HTTP和FTP这样的TCP/IP协议。Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。 分布分布式式vJava的风格类似于C+,因而对C+程序员而言非常容易掌握Java编程技术; vJava摒弃了C+中容易引发程序错误的地方,如指针操作和内存管理;简单简单v在 Java 中任何东西都是对象,是真正纯粹面向对象的语言。更有利于编制大型软件工程面向面向对象对象辽宁机电职业技术学
6、院辽宁机电职业技术学院Designed By Chiyon2008Java的基本特点的基本特点3-2vJava 程序被编译成一种与体系结构无关的字节代码v只要安装了Java运行时系统,Java程序可以在任意的处理器上运行体系结体系结构中立构中立v Java在编译和运行程序时都要对可能出现的问题进行检查v它提供自动垃圾收集来进行内存管理 v具有面向对象的异常处理机制健壮健壮性性vJava语言提供的安全机制v编译器提供的安全机制v字节码校验器v类加载器安全安全v源代码级v目标代码级可移可移植性植性辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java的基本特点
7、的基本特点3-3vJava语言内置支持多线程的功能vJava 类库提供了 Thread 类多线多线程程v编译器 javac.exe 将处理.java源文件生成类文件 v类文件可通过名称为 java.exe 的加载实用程序解释执行,将Java 字节码转换为机器可执行代码。解释解释执行执行通过JIT编译器(Just-In-Time , 运行时编译执行的技术)首先将字节码编译成固有代码,将结果缓存下来,然后在需要时调用它们。 高性高性能能Java自身的设计使它适合于一个不断发展的环境。在Java类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。动态动态辽宁机电职业技术学院辽宁机电职业技
8、术学院Designed By Chiyon2008了解了解Java的跨平台性机器语言的跨平台性机器语言不同种类的计算机有不同的机器语言不同种类的计算机有不同的机器语言辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008了解了解Java的跨平台性的跨平台性高级语言高级语言编译器的编译编译器的编译目标语言程序目标语言程序高级语言程序高级语言程序中间语言程序中间语言程序(如:(如:Java的的 class 代码)代码)机器语言程序机器语言程序(如:(如:C,C+)辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008了解了解Java的跨平
9、台性的跨平台性操作系统操作系统Operating System操作系统用来支持最基本操作系统用来支持最基本的操作,比如创建文件和的操作,比如创建文件和文件夹,在屏幕上显示,文件夹,在屏幕上显示,打印等等。打印等等。操作系统是用户与操作系统是用户与计算机之间的主要计算机之间的主要接口。接口。所有的程序都与操作系统所有的程序都与操作系统通讯通讯辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008机器语言决定代码移植的可行性平台平台可以理解为计算机系统与硬件的结合体。可以理解为计算机系统与硬件的结合体。为一种平台编写的代码不能在另一种平台上运行。为一种平台编写的代码不
10、能在另一种平台上运行。MACSoftware for MAC MachineSun SolarisSoftware for SolarisSoftware for IBM Machine辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008编译执行的高级语言程序存在的问题及解决方案编译执行的高级语言程序存在的问题及解决方案问问题题解解决决办办法法解释解释器器解释解释器器解释解释器器为特定的平台为特定的平台编写的程序在编写的程序在其他平台上无其他平台上无法使用法使用为解决这为解决这个问题,个问题,我们使用我们使用了了“解释解释器器”。 这样在解释器的帮助下,我们就可
11、以编写一次代码而在不这样在解释器的帮助下,我们就可以编写一次代码而在不同的平台上运行。同的平台上运行。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java Java 程序的运行环境程序的运行环境编译型源程序编译型源程序字节码程序字节码程序Java源程序源程序可执行程序可执行程序EXE裸机裸机操作系统操作系统解释器解释器编译编译连接连接编译编译执行执行解释解释执行执行.java.class因此,每个平台都有一个特定的因此,每个平台都有一个特定的JVM。即即JVM是与平台相关的是与平台相关的平台平台辽宁机电职业技术学院辽宁机电职业技术学院Designed B
12、y Chiyon2008编译时编译时.java(源代码)(源代码).class(字节码)(字节码)运行时运行时类加载器类加载器字节码校验器字节码校验器解释器解释器JIT代码代码生成器生成器硬件硬件网络网络JavaJava运行时环境运行时环境( (Java Runtime Environment)Java Runtime Environment)辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008JavaJava虚拟机虚拟机 2 - 1 2 - 1 Java虚拟机虚拟机(JVMJava Virtual Machine)是在计算机上模拟是在计算机上模拟运行的假想的计
13、算机。它可以是硬件或软件(通常为软件)。运行的假想的计算机。它可以是硬件或软件(通常为软件)。它有自己独立的指令集系统(相当于计算机的它有自己独立的指令集系统(相当于计算机的CPU,内存和寄内存和寄存器等设备)存器等设备) JVM负责将负责将 Java 字节码程序翻译成机器码字节码程序翻译成机器码,然后由计算机然后由计算机执行。执行。 JVM 其它主要功能如下:其它主要功能如下:加载加载 .class 文件文件管理内存管理内存执行垃圾收集执行垃圾收集辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008JavaJava虚拟机虚拟机 2 2 2 2(实时编译器)(实
14、时编译器)使用使用“实时实时 (Just In Time)” 编译器,也称为编译器,也称为JIT编译器。可以编译器。可以提高提高 Java 代码的执行速度。代码的执行速度。SUN公司在公司在Java 2 发行版中提供了发行版中提供了JIT编译器,编译器,JIT编译器是编译器是Java虚拟机的一部分虚拟机的一部分。JIT 的主要用途是将字节码指令集转换为针对某一特定微处理的主要用途是将字节码指令集转换为针对某一特定微处理器的机器代码指令。器的机器代码指令。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008JavaJava虚拟机虚拟机 2 3 2 3(Hotspo
15、tHotspot编译器)编译器)Hotspot性能优化编译器是对性能优化编译器是对Java2平台的增强,平台的增强,主要加速模块的组成部分:内存模型,垃圾收集,线程主要加速模块的组成部分:内存模型,垃圾收集,线程同步,本地编译器。同步,本地编译器。特性综述:特性综述:总体性能更强(和总体性能更强(和JIT编译器相比);编译器相比);针对平台的最优化;针对平台的最优化;精确的一次性垃圾收集器;精确的一次性垃圾收集器;辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008JavaJava虚拟机虚拟机 2 3 2 3(HotspotHotspot编译器)编译器)Java
16、 Hotspot性能优化编译器主要包括两个文件和其它一些性能优化编译器主要包括两个文件和其它一些调试库文件,位置在调试库文件,位置在jrebin目录下:目录下:新版本新版本JDK包含两种编译器(包含两种编译器(server和和client),),它们都有下它们都有下面的文件面的文件jvm.dll测试测试Hotspot:DOS提示符:提示符:java -version提示信息:提示信息:使用使用“混合模式混合模式”,可以把使用频率高的代码编译成本地代码,可以把使用频率高的代码编译成本地代码,而其它的代码仍然解释执行,可以获得最高的效率。而其它的代码仍然解释执行,可以获得最高的效率。辽宁机电职业技
17、术学院辽宁机电职业技术学院Designed By Chiyon2008垃圾收集垃圾收集2-12-1v Java 虚拟机使用两个独立的堆内存,分别虚拟机使用两个独立的堆内存,分别用于静态内存分配和动态内存分配。用于静态内存分配和动态内存分配。其中一个是非垃圾收集堆内存,用于存储所有类定义、常量池和方法表。v 用于垃圾收集的算法主要针对存放在动态用于垃圾收集的算法主要针对存放在动态堆内存中的对象。堆内存中的对象。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008垃圾收集垃圾收集 2-2 2-2v 垃圾收集器将在收集对象实例之前调用垃圾收集器将在收集对象实例之前调用
18、 finalize 方法。方法。v 即使显式调用即使显式调用 (System.gc( ) 方法来启动垃方法来启动垃圾收集线程圾收集线程 ,但它也不能保证立即运行。,但它也不能保证立即运行。v 因为垃圾收集线程的运行优先级很低,所以因为垃圾收集线程的运行优先级很低,所以可能经常会被中断。可能经常会被中断。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008如何理解如何理解JRE与与JVM的区别?的区别? JVM 负责将负责将 Java 字节码程序(字节码程序(Class代码)代码)翻译成二进制机器语言,它的核心就是翻译成二进制机器语言,它的核心就是“解释解释器器”
19、; JRE 是由是由JVM 和和 Java Platform 核心类以及核心类以及相关支撑文件组成(例如相关支撑文件组成(例如tools.jar和其它核心工和其它核心工具)具) 总之:总之:JDK包含包含JRE,JRE包含包含JVM。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java Java 的编辑环境的编辑环境类库编译器调试器Java 运行时环境JDK(Java Development Kit)是是有助于程序员开发有助于程序员开发Java 程序的程序的 Java 开发工具包,它包括:开发工具包,它包括:小常识:小常识:Java 2Java 2的版本
20、号是和的版本号是和JDKJDK的版本号相联系的,的版本号相联系的,如如JDK 1.2JDK 1.2版本版本, ,则称为则称为Java 2Java 2辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java编程构架及其工具包编程构架及其工具包Java版本版本例如:适用与例如:适用与windows的的J2SE版本版本j2sdk-1_5_0-beta-windows-i586.exeJava2平台标准版平台标准版Java2平台企业版平台企业版Java2平台微型版平台微型版J2SEJ2EEJ2ME辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chi
21、yon2008JDK JDK 提供的常用工具提供的常用工具javac.exe 是用来编译是用来编译源代码的命源代码的命令。令。java.exe是用是用于执行类文件于执行类文件的命令,而类的命令,而类文件将在文件将在 Java 虚拟机虚拟机中运行类。中运行类。appletviewer 命令允许在万命令允许在万维网浏览器的维网浏览器的环境之外运行环境之外运行 Applet。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java ApplicationJava Application程序基本结构程序基本结构结构结构import语句语句主类名称主类名称方法体方法体
22、class public static void main(String args) 辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008第一个第一个 Java Java 程序程序/这是名称为这是名称为“HelloWorld.java”的简单程序的简单程序import java.io.*; class HelloWorld public static void main(String args ) System.out.println(“欢迎访问欢迎访问 Java 世界!世界!“); 结构结构辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chi
23、yon2008在记事本编辑在记事本编辑JavaJava程序程序单击单击开始开始依次选择依次选择程序程序-附件附件-记事本记事本/这是名称为“HelloWorld.java”的简单程序import java.io.*; class HelloWorld public static void main(String args ) System.out.println(“欢迎访问 Java 世界!“); 辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008编译和运行编译和运行单击单击开始开始依次选择依次选择程序程序-附件附件-命令提示符命令提示符进入程序所进入程序所保
24、存的目录保存的目录输入命令编译输入命令编译HelloWorld输入命令执行输入命令执行HelloWorld 输出输出结果结果辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java API Java API 文档文档2-12-1使用JDK API 打开打开 Internet Explorer 键入下列键入下列 URL 地址地址http:/ 通过单击相关主题,可以浏览网页通过单击相关主题,可以浏览网页辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008Java API Java API 文档文档2-22-2辽宁机电职业技术学院辽
25、宁机电职业技术学院Designed By Chiyon2008总结总结3-13-1Java 既是一既是一种解释执行的种解释执行的语言,也是一语言,也是一种编译执行的种编译执行的语言。语言。 Java 是一种是一种面向对象的编面向对象的编程语言,主要程语言,主要用于用于 Internet 应用程序。应用程序。Java 可用来生可用来生成两类程序:成两类程序:应用程序应用程序、 小小应用程序应用程序( Applet ) 。辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008总结总结3-23-2简单简单面向对象面向对象分布式分布式健壮性健壮性安全安全体系结构中立体系结
26、构中立可移植性可移植性解释执行解释执行高性能高性能多线程多线程动态动态Java 的特点包括的特点包括辽宁机电职业技术学院辽宁机电职业技术学院Designed By Chiyon2008总结总结3-33-3v Java 虚拟机是虚拟机是 Java 编程语言的核心。编程语言的核心。v Java 运行时环境运行时环境 (JRE) 包含一方面与硬件交互、包含一方面与硬件交互、另一方面又与程序交互的另一方面又与程序交互的 JVM。v Java 开发工具包有助于开发开发工具包有助于开发 Java 程序。程序。v JDK 提供多种工具,这些工具位于提供多种工具,这些工具位于 JDK 的的 bin 目录下,具体如下:目录下,具体如下:javacjavaappletviewer