
[计算机软件及应用]浙江工商JAVA课程.ppt
40页[ [计算机软件及应用计算机软件及应用] ]浙江浙江工商工商JAVAJAVA课程课程 1991,, Sun 成立Green小组,开发了Oak语言语言;一、一、JAVA的发展历史的发展历史 1992.8,,Oak与GreenOs、用户接口模块、硬件模块、用户接口模块、硬件模块 集成为Star Seven,成功表现高效的小程序代码技术, Green升级为First Person子公司子公司 1994,, First Person 解体,,Sun决定将Oak与3W相结合; 1995年秋年秋 ,, Netscape Navigator 2.0的的 32位版本中支持位版本中支持Java 1995.1,,James Gosling和Naughton 完成 Oak新版新版 与第一个基于基于Oak的应用程序Web Runner Oak Java WebRunner HotJava HotJava成为成为首个支持Java的第二代浏览器2James Gosling3Java 2 Platform Java 2 Platform Standard Edition — J2SE Java 2 Platform Enterprise Edition — J2EE Java 2 Platform Micro Edition — J2ME4Java 2 Platform5J 2 S E 以以Web为中心的客户端或服务器端的软件开发为中心的客户端或服务器端的软件开发u以前称为以前称为 JDK 1.2,目前最新版本,目前最新版本1.7 J2SE 的实现:的实现: Java 2 Software Development Kit (J2SDK), Standard Edition + Java 2 Runtime Environment (J2RE), Standard Edition6J2ME针对消费类的电子设备针对消费类的电子设备 如移动、汽车导航系统等。
如移动、汽车导航系统等语言精简、运行环境高度优化语言精简、运行环境高度优化7J2EE 开发企业级和服务器端的应用开发企业级和服务器端的应用uJ2SE +Enterprice JavaBeans((EJB)) + Java Servlets API + Java Server Pages((JSP))8J2EE Application Model 9二、二、Java 技术技术Java是一种编程语言是一种编程语言Java又是一种平台又是一种平台10Java编程语言编程语言11Java 平台平台12三、三、javajava概概 述述 JAVA的特征的特征 JAVA的语法机制的语法机制 JAVA运行系统运行系统 JAVA应用应用 JAVA程序示例程序示例13JavaJava的特征的特征SunSun在在JAVAJAVA““白皮书白皮书””中指出:中指出: JAVA JAVA是一种是一种““简单、面向对象、分布简单、面向对象、分布式、解释型、健壮、安全、体系结构中立、式、解释型、健壮、安全、体系结构中立、可移植、高性能和动态可移植、高性能和动态””的编程语言的编程语言14对对C++进行成功改造进行成功改造 去掉指针,取消多重继承和运算符重载去掉指针,取消多重继承和运算符重载 设立自动内存回收设立自动内存回收JavaJava特征特征- -简单性简单性 语法和语义都比较单纯,容易学习和使用语法和语义都比较单纯,容易学习和使用提供大量功能丰富的可重用类库简化了提供大量功能丰富的可重用类库简化了 编程工作量编程工作量15JavaJava特征特征- -面向对象面向对象 Java Java 是最纯洁的面向对象语言,对面向是最纯洁的面向对象语言,对面向对象方法学的支持也最全面对象方法学的支持也最全面: :JAVAJAVA对象有对象有模块化性质模块化性质和和信息隐藏信息隐藏能力,能力, 满足面向对象的满足面向对象的封装封装要求;要求;支持继承;支持继承;通过抽象类与接口通过抽象类与接口支持多态支持多态16JavaJava特征特征- -分布式分布式数据分布支持数据分布支持 通过通过Java的的URL类类可以访问网上的各类信息可以访问网上的各类信息资源,访问方式完全类似于本地文件系统;资源,访问方式完全类似于本地文件系统;操作分布支持操作分布支持 通过在通过在3W页面中的小应用程序(页面中的小应用程序(Applet)将计将计算从服务器分布至客户机,避免网络拥挤,提高算从服务器分布至客户机,避免网络拥挤,提高系统效率系统效率。
17JavaJava特征特征- -半编译,半解释半编译,半解释18JavaJava特征特征- -半编译,半解释半编译,半解释编译器编译编译器编译JAVA源程序源程序字节码字节码解释器解释执行解释器解释执行优点优点: 兼具兼具编译执行编译执行的效率优势和的效率优势和解释执行解释执行的灵活性;的灵活性; 提高了应用程序的可移植性:源程序、中间代码提高了应用程序的可移植性:源程序、中间代码19JavaJava特征特征- -可移植性可移植性...JAVA源程序源程序JAVA编译器编译器(Pentium)...(SPARC)JAVA字节码字节码JAVA解释器解释器......((Pentium)...(SPARC)20“一次编程,到处运行一次编程,到处运行”--- WORA可移植性源于两方面:可移植性源于两方面: Java的半编译、半解释的特征的半编译、半解释的特征 Java采用标准的独立于硬件平台的数据类型采用标准的独立于硬件平台的数据类型JavaJava特征特征- -可移植性可移植性21 字节码验证字节码验证 运行系统引入字节码验证器,其中包含简单的运行系统引入字节码验证器,其中包含简单的规则验证程序规则验证程序,以确保遵循下列规则:,以确保遵循下列规则:JavaJava特征特征- -安全性安全性 不存在伪造的指针;不存在伪造的指针; 未违反访问权限;未违反访问权限; 严格遵循对象访问规范来访问对象;严格遵循对象访问规范来访问对象; 合适的参数调用方法;合适的参数调用方法; 没有栈溢出没有栈溢出22Java特征特征- 多线程多线程 JAVA在在语言级语言级嵌入对并发的支持功能,嵌入对并发的支持功能, 具体机制就是多线程。
具体机制就是多线程 23JavaJava特征特征- -动态特性动态特性 JAVA程序的基本组成单元程序的基本组成单元—— 类类 是是运行时动态装载运行时动态装载的的 使使JAVA可以动态地维护应用系统及其支持类可以动态地维护应用系统及其支持类之间的一致性之间的一致性24 Java编译生成的字节码与机器代码十分接近编译生成的字节码与机器代码十分接近提供即时编译等措施提供即时编译等措施JavaJava特征特征- -高性能高性能25JAVA的语法机制概述的语法机制概述与与C++一致的语法机制:一致的语法机制: 数据类型、表达式、程序流控制、数据类型、表达式、程序流控制、 结构化异常处理等结构化异常处理等与与C++不同的语法机制:不同的语法机制: 类类、、接口接口((Interface)、、程序包程序包(Package)、、 自动内存回收、以及多线程自动内存回收、以及多线程26JAVA与与C++不同的语法机制不同的语法机制类:类: 最重要、最基本的语法设施,类的定义与继承与最重要、最基本的语法设施,类的定义与继承与 C++类似,主要区别:类似,主要区别: JAVA不允许不允许多重继承多重继承,多重继承必须通过,多重继承必须通过接口接口实现。
实现 自动内存回收自动内存回收 JAVA取消了指针类型,所有动态内存请求均通过取消了指针类型,所有动态内存请求均通过new运运算符,并且得到的不是指针而是算符,并且得到的不是指针而是引用引用 系统进行内存回收系统进行内存回收27JAVA运行系统运行系统运行环境的种类:运行环境的种类:•JAVA Application -- JAVA解释器解释器•JAVA Applet-- JAVA兼容的兼容的Web浏览器28JAVA运行系统的构成运行系统的构成类装配器类装配器字节码验证器字节码验证器解释器解释器代码生成器代码生成器运行支持库运行支持库29JAVA程序运行过程程序运行过程Hello.javaJavac Hello.javaHello.class网络网络类装配器类装配器字节码验证器字节码验证器解释器解释器代码生成器代码生成器运行支持库运行支持库本地系统本地系统编译编译运行运行30JAVA虚拟机虚拟机 JVM的意义:的意义: 保证不同平台上的保证不同平台上的JAVA运行系统功能统一运行系统功能统一 JVM的定义:的定义: An imaginary machine that is implemented by emulating it in software on a real machine. Code for the Java Virtual Machine is stored in .class files.31JVM规范定义了一组抽象的逻辑组件,包括:规范定义了一组抽象的逻辑组件,包括:指令集;指令集;寄存器组:程序计数器、栈顶指针等;寄存器组:程序计数器、栈顶指针等;栈结构:保存各种参数等;栈结构:保存各种参数等;垃圾收集器;垃圾收集器;存储区:存放字节码的方法代码、符号表存储区:存放字节码的方法代码、符号表JVM组成部分组成部分32 JAVA运行系统运行系统是各供应商是各供应商对对JVM的具体实现的具体实现。
对运行系统的设计与实现的要求:对运行系统的设计与实现的要求: 必须支持必须支持SUN的的.class文件结构文件结构 必须支持字节码定义必须支持字节码定义 必须支持必须支持JVM规范规范使使Java运行系统功能是统一的,运行系统功能是统一的,并且只能执行统一格式的字节码并且只能执行统一格式的字节码.JVM与与 JAVA运行系统运行系统33两种应用程序两种应用程序Java application: 编译器编译编译器编译—运行运行Java applet:: 编译器编译编译器编译 —编写编写HTML文件把文件把Applet嵌入其中嵌入其中 —浏览器中浏览器中运行运行类库类库API Java API是是SUN提供的用提供的用Java语言开发的类集合语言开发的类集合 Java API包括几十个包,常用的有:包括几十个包,常用的有:java.lang, java.io, java.util, , java.awt, java.applet等。
等关键性术语关键性术语34Java核心类包举例核心类包举例 Java.lang – JAVA语言的核心类组成,包括了基本数据类型语言的核心类组成,包括了基本数据类型 和出错处理方法等和出错处理方法等 Java.io – JAVA语言的标准语言的标准I/O库库 Java.util– 工具类,如工具类,如Date等 J– 实现网络操作实现网络操作 Java.awt--((Abstract Window Toolkit)创建用户界面创建用户界面 Java.applet– 支持支持Applet开发35Java应用程序举例应用程序举例HelloWorldApp.java:Public class HelloWorldApp{public static void main( String args[ ]){System.out.println(“Hello World!”);}}36Java 程序编写、编译过程程序编写、编译过程 main声明声明-- Java程序入口点程序入口点格式格式public static void main(String args[]){ … }源文件的名字与源文件的名字与main()方法所在的类名相同,方法所在的类名相同,扩展名必须是扩展名必须是 .java。
编译编译javac HelloWordApp.java --生成生成HelloWorldApp.class运行运行java HelloWorldApp37JDK的安装的安装运行运行JDKJDK中的安装程序中的安装程序改变环境变量:改变环境变量:PATH=%PATH%; c:\jdk1.6\bin;PATH=%PATH%; c:\jdk1.6\bin; CLASSPATH = .;c:\jdk1.6\lib ; CLASSPATH = .;c:\jdk1.6\lib ;38Java常用开发环境常用开发环境 JDK 1. 2 (~V1.3.0, V1.3.1, V1.4.2 ,V1.5.0,V1.6…) Forte: Sun 功能强大的功能强大的集成开发环境集成开发环境 Jbuilder:图形化,客户端与服务器端:图形化,客户端与服务器端 WebLogic:适于开发服务器端:适于开发服务器端 VisualAge:与:与Webshpere结合,也适于客户端结合,也适于客户端 Symantec的的Visual Cafe、、Oracle的的 JDeveloper和和Oracle Application Server 39 结束语结束语谢谢大家聆听!!!谢谢大家聆听!!!40。
