Download presentation
Presentation is loading. Please wait.
Published by狩 能 Modified 8年之前
1
1 第一章 Java 语言概述 教学目标: 了解 Java 语言的特点及 Java 虚拟机的概念 掌握 Java 程序的种类和结构 理解 Java 应用程序和 Java 小程序的区别 重点: 1 . Java 虚拟机的概念 2 . Java 两种程序的区别 难点: Java 程序的结构
2
2 1.1 面向对象程序设计 面向过程 面向对象 软件危机 OOP 目标
3
3 1.2 Java 概述 1991 年由 James Gosling 负责开发的一个分布式代 码系统( Oak ),是为家用消费电子产品(电冰 箱、电视机等)进行编程控制 。 1993 年 Sun 公司将目标市场转向 Internet 。 1994 年将 Oak 语言更名为 Java 。 项目小组成员经常在公司附近一家咖 啡厅喝咖啡,因此把咖啡原产地 Java 作为 新语言的名称。 项目小组成员经常在公司附近一家咖 啡厅喝咖啡,因此把咖啡原产地 Java 作为 新语言的名称。 1995 年 Java 被正式发布,伴随 Internet 一起大发 展。
4
4 随着 Java Servlet 的推出, Java 在电子商务方 面开始崭露头角,最新的 Java Server Page ( JSP ) 技术的推出,更是让 Java 成为基于 Web 应用程序 的首选开发工具。 Internet 的普及和迅猛发展, 以及 Web 技术的不断渗透,使得 Java 语言在现代 社会的经济发展和科学研究中,占据了越来越重 要的地位。
5
5 与 Java 有关的一些图片 Java 的标识 Java 的吉祥物 Duke Java 之父 James Gosling
6
6 1.2.2 Java 特性 简单易学 面向对象 平台无关性 分布式 可靠性 安全性 支持多线程 支持网络编程 编译与解释并存
7
7 1.2.1 简单、面向对象 完全面向对象。 去掉了运算符重载、多继承,采用单一继承 多线程、引用(非指针)等方式。 自动垃圾回收机制。 java 语言采用了 C 语言中的大部分语法 1.2.2 鲁棒并且安全 强制类型检查,防止不匹配。 java 不能指针访问内存单元,减少错误发生可能性; java 的数组并非用指针实现,避免数组越界的发生。
8
8 结构中立、可移植性强的解释型语言 3 . 结构中立、可移植性强的解释型语言 字节代码( Bytecode )。字节代码可以在提供 Java 运行时系统的多种不同处理器上面执行。 Java 严格定义了基本数据类型的大小和算术运算符 的行为,因此不存在软硬件平台不兼容的情况。 4 解释执行、多线程 为易于实现跨平台性, java 设计成为解释执行 多线程使应用程序可以同时进行不同的操作,处理 不同的事件。 java 在执行过程中,可以动态的加载各种类库,这一 特点使之我非常适合于网络运行
9
9 1.2.3 Java 体系 Java 体系结构: 1.Java 编程语言 2. 字节文件 3.java API (包) 4.JVM Java 平台: J2SE(Java 2 Stand Edition) J2ME(Java 2 Micro Edition) J2EE(Java 2 Enterprise Edition)
10
10 1.4 Java 虚拟机 JVM(Java Virtual Machine) 用软件模拟出的虚拟计算机 C/C++ 等是属于编译型的语言,而 Basic 与 Lisp 等 则是属于解释型的语言 Java 程序却比较特殊,它必须先经过编译的过程, 然后再利用解释的方式来运行。 Java 程序被编译为平台无关的 “ 字节码 ”(byte- codes) 。然后通过 Java 的解释器解释并运行 Java 的 字节码。.net 中的 CLR
11
11 Java 源文件 字节码.Class 文件 编译 计算机 ( Windows) (MAC) (UNIX / linux) android JVM app.classapp.java Java 源文件 字节码 文件 编译器解释器 图 1.1 Java 程序的运行过程:先编译,后解释
12
12 执行机制 执行机制 1 字节码 1 字节码 *.class 文件与机器码不同,不是真正的 CPU 可 运行的指令代码,故又称伪代码。 通过 JVM 转成本地机器代码,达到一次撰写, 到处运行。 ( Write Once , Run Anywhere ) C 语言能跨平台吗?如能,则与 JAVA 区别?
13
13 app.class app.java Java 源文件 字节码 文件 编译器 windows JVM Linux JVM MAC JVM Android JVM 硬件
14
14 app.c C 源文件 执行文件 app.exe 编译器 1 windows JVM Linux JVM MAC JVM Android JVM 硬件 执行文件 app.exe 编译器 2 执行文件 app.exe 编译器 3 执行文件 app.exe 编译器 4
15
15
16
16 2 垃圾回收机制 C++ 类 M M m1 = new M[20] ; delete [] m1; 自动垃圾回收 自动垃圾回收机制,周 期性的释放无用的对象。 3 代码安全性检测 沙箱安全模型 本身代码检测(伪指针等 ) a1 m1: x = 7 y = 0 a2 X X
17
17 1.4 Java 类库
18
18 补充: Java 程序种类和结构 使用 Java 语言可以编写两种类型的程序: Application( 应用程序 ) 和 Applet( 小程序 ) 。 这两种程序的开发原理是相同的,但是在运 行环境和计算结构上却有着显著的不同。
19
19 Java Applet (小程序)与 Java Application (应 用程序)的不同之处如下: 运行环境不同 最低要求不同 图形用户界面的使用方式不同
20
20 表 1.1 Applet 与 Application 的差别 功能要求 Application( 应用程序 )Applet( 小程序 ) 使用图形可选固定用图形 发布主要从文件系统装入通过 HTML 连接 内存要求最低 Java 应用程序要求 Java 程序加 Web 浏览器要求 环境输入命令行参数嵌入 HTML 文档的参数 Java 虚拟机 (JVM) 所要 求的执行过程 主函数 (main) 启动过程 init 初始化过程 start 启动过程 stop 暂停 / 关闭过程 destroy 终止过程 paint 绘图过程
21
21 一般的 Java 源程序文件由以下三部分组成: package 语句 (0 句或 1 句 ) import 语句 (0 句或多句 ) 类定义 (1 个或多个类定义 ) import java.io.*; public class helloword { public static void main(String args[]) { System.out.println( “hello”) ; }
22
22 一个程序中可以有多个类,但只有一个类是主类。 在 Java Application 中,这个主类是指包含 main() 方 法的类。 在 Java Applet 里,这个主类是一个继承自系统类 Applet 的子类。主类是 Java 程序执行的入口点。
23
23 总结: 了解 Java 程序设计语言的特性。 区分 Java 与 C++ 两种语言的不同。 掌握 Java 程序包含应用程序和小应用 程序两种不同类型。 熟练掌握每种程序的基本结构。
24
24 END
Similar presentations