24
1 Java 第第第第 第第第第第第 Java 第第第第第第 Java 第第第第第第 第第 Java 第第第第第第第第 第第 Java 第第第第第 Java 第第第第第第 第第1 Java 第第第第第第 2 Java 第第第第第第第 第第Java 第第第第第

第一章 Java 语言概述

Embed Size (px)

DESCRIPTION

第一章 Java 语言概述. 教学目标: 了解 Java 语言的特点及 Java 虚拟机的概念 掌握 Java 程序的种类和结构 理解 Java 应用程序和 Java 小程序的区别 重点: 1 . Java 虚拟机的概念 2 . Java 两种程序的区别 难点: Java 程序的结构. 1.1 面向对象程序设计. 面向过程 面向对象 软件危机 OOP 目标. 1.2 Java 概述. 1991 年由 James Gosling 负责开发的一个分布式代码系统( Oak ),是为家用消费电子产品(电冰箱、电视机等)进行编程控制 。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第一章   Java 语言概述

1

第一章 Java 语言概述

教学目标:了解 Java 语言的特点及 Java 虚拟机的概念掌握 Java 程序的种类和结构理解 Java 应用程序和 Java 小程序的区别

重点: 1 . Java 虚拟机的概念 2 . Java 两种程序的区别难点: Java 程序的结构

Page 2: 第一章   Java 语言概述

2

1.1 面向对象程序设计

面向过程面向对象软件危机OOP 目标

Page 3: 第一章   Java 语言概述

3

  1.2 Java 概述 1991 年由 James Gosling 负责开发的一个分布式代码系统( Oak ),是为家用消费电子产品(电冰箱、电视机等)进行编程控制 。

1993 年 Sun 公司将目标市场转向 Internet 。

1994 年将 Oak 语言更名为 Java 。 项目小组成员经常在公司附近一家咖项目小组成员经常在公司附近一家咖啡厅喝咖啡,因此把咖啡原产地啡厅喝咖啡,因此把咖啡原产地 JavaJava 作为作为新语言的名称。新语言的名称。

1995 年 Java 被正式发布,伴随 Internet 一起大发展。

Page 4: 第一章   Java 语言概述

4

  随着 Java Servlet 的推出, Java 在电子商务方面开始崭露头角,最新的 Java Server Page( JSP )技术的推出,更是让 Java 成为基于 Web 应用程序的首选开发工具。 Internet 的普及和迅猛发展,以及 Web 技术的不断渗透,使得 Java 语言在现代社会的经济发展和科学研究中,占据了越来越重要的地位。

Page 5: 第一章   Java 语言概述

5

与与 JavaJava 有关的一些图片有关的一些图片

Java 的标识 Java 的吉祥物

Duke

Java 之父

James Gosling

Page 6: 第一章   Java 语言概述

6

1.2.2 Java 特性• 简单易学• 面向对象 • 平台无关性 • 分布式 • 可靠性 • 安全性 • 支持多线程 • 支持网络编程 • 编译与解释并存

Page 7: 第一章   Java 语言概述

7

1.2.1 简单、面向对象 完全面向对象。 去掉了运算符重载、多继承,采用单一继承 多线程、引用(非指针)等方式。 自动垃圾回收机制。 java 语言采用了 C 语言中的大部分语法

1.2.2 鲁棒并且安全 强制类型检查,防止不匹配。 java 不能指针访问内存单元,减少错误发生可能性; java 的数组并非用指针实现,避免数组越界的发生。

Page 8: 第一章   Java 语言概述

8

3 .结构中立、可移植性强的解释型语言结构中立、可移植性强的解释型语言 字节代码(字节代码( BytecodeBytecode )。字节代码可以在提供)。字节代码可以在提供 JavaJava

运行时系统的多种不同处理器上面执行。运行时系统的多种不同处理器上面执行。 JavaJava严格定义了基本数据类型的大小和算术运算符严格定义了基本数据类型的大小和算术运算符

的行为,因此不存在软硬件平台不兼容的情况。的行为,因此不存在软硬件平台不兼容的情况。

4 解释执行、多线程  为易于实现跨平台性, java 设计成为解释执行 多线程使应用程序可以同时进行不同的操作,处理

不同的事件。 java 在执行过程中,可以动态的加载各种类库,这

一特点使之我非常适合于网络运行

Page 9: 第一章   Java 语言概述

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)

Page 10: 第一章   Java 语言概述

10

1.4 Java 虚拟机 JVM(Java Virtual Machine)

用软件模拟出的虚拟计算机

C/C++ 等是属于编译型的语言,而 Basic 与 Lisp等则是属于解释型的语言

Java 程序却比较特殊,它必须先经过编译的过程,然后再利用解释的方式来运行。 Java 程序被编译为平台无关的“字节码” (byte-codes) 。然后通过 Java 的解释器解释并运行 Java的字节码。

.net 中的 CLR

Page 11: 第一章   Java 语言概述

11

Java 源文件 字节码 .Class 文件编译

计算机( Windows)

(MAC)(UNIX / linux)

android

JVM

app.classapp.java

Java源文件

字节码文件

编译器 解释器

图 1.1 Java 程序的运行过程:先编译,后解释

Page 12: 第一章   Java 语言概述

12

执行机制执行机制11 字节码字节码

*.class文件与机器码不同,不是真正的 CPU可运行的指令代码,故又称伪代码。

通过 JVM 转成本地机器代码,达到一次撰写,到处运行。 ( Write Once , Run Anywhere )

C 语言能跨平台吗?如能,则与 JAVA 区别?

Page 13: 第一章   Java 语言概述

13

app.class

app.java

Java源文件

字节码文件

编译器

windowsJVM

LinuxJVM

MACJVM

AndroidJVM

硬件 硬件 硬件 硬件

Page 14: 第一章   Java 语言概述

14

app.cC 源文件

执行文件app.exe

编译器 1

windowsJVM

LinuxJVM

MACJVM

AndroidJVM

硬件 硬件 硬件 硬件

执行文件app.exe

编译器 2

执行文件app.exe

编译器 3

执行文件app.exe

编译器 4

Page 15: 第一章   Java 语言概述

15

编译时

.java

(源代码)

.clas

s

(字节码)

运行时

类加载器

字节码校验器

解释器 JIT 代码生

成器

硬件

网络

Page 16: 第一章   Java 语言概述

16

2 垃圾回收机制 C++

类 M M m1 = new M[20] ; delete [] m1;

自动垃圾回收 自动垃圾回收机制,周期性的释放无用的对象。

3 代码安全性检测 沙箱安全模型 本身代码检测(伪指针等 )

a1

m1: x = 7 y = 0

a2

X

X

Page 17: 第一章   Java 语言概述

17

1.4 Java 类库

Page 18: 第一章   Java 语言概述

18

补充: Java 程序种类和结构

使用 Java 语言可以编写两种类型的程序:Application( 应用程序 ) 和 Applet( 小程序 ) 。

这两种程序的开发原理是相同的,但是在运行环境和计算结构上却有着显著的不同。

Page 19: 第一章   Java 语言概述

19

Java Applet (小程序)与 Java Application(应用程序)的不同之处如下:

• 运行环境不同

• 最低要求不同

• 图形用户界面的使用方式不同

Page 20: 第一章   Java 语言概述

20

表 1.1 Applet 与 Application 的差别

功能要求 Application( 应用程序 ) Applet( 小程序 )

使用图形 可选 固定用图形

发布 主要从文件系统装入 通过 HTML连接

内存要求 最低 Java 应用程序要求 Java 程序加Web浏览器要求

环境输入 命令行参数 嵌入 HTML文档的参数

Java 虚拟机 (JVM)所要求的执行过程 主函数 (main)启动过程

init初始化过程start启动过程stop暂停 / 关闭过程destroy终止过程paint绘图过程

Page 21: 第一章   Java 语言概述

21

一般的 Java源程序文件由以下三部分组成: package 语句 (0句或 1句 )

• import 语句 (0句或多句 )• 类定义 (1 个或多个类定义 )

import java.io.*;

public class helloword {

public static void main(String args[]) {

System.out.println( “hello”) ;

}

}

Page 22: 第一章   Java 语言概述

22

一个程序中可以有多个类,但只有一个类是主类。

在 Java Application 中,这个主类是指包含main()方法的类。

在 Java Applet里,这个主类是一个继承自系统类Applet 的子类。主类是 Java 程序执行的入口点。

Page 23: 第一章   Java 语言概述

23

•总结:• 了解 Java程序设计语言的特性。• 区分 Java与 C++两种语言的不同。• 掌握 Java程序包含应用程序和小应用

程序两种不同类型。•熟练掌握每种程序的基本结构。

Page 24: 第一章   Java 语言概述

24

END