Version 3.0
第一章
Java语言概述
2
目标
了解 Java 的特点和优点
了解 Java 的运行机制
了解 Java 程序的基本结构
掌握如何编译和运行 Java 程序
3
Java发展史
1990 年 Sun 公司的 James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒,PDA等的微处理器。
1993 年交互式电视和 PDA 市场开始滑坡,
而 Internet 正处于增长时期,因此 Sun 公司将目标市场转向 Internet 应用程序。
1994年将 Oak语言更名为 Java。
1995年 Sun 公司的 HotJava 浏览器问世。
4
什么是 JAVA
Java 完全面向对象的编程语言 。
Java 可用来生成两类程序:应用程序,
小应用程序 ( Applet ) 。
Java 既是一种解释执行的语言,也是一种编译执行的语言 。
5
Java的基本特点 3-1
简单
面向对象
分布式
Java的风格类似于 C++,因而对 C++
程序员而言非常容易掌握 Java编程技术;
Java摒弃了 C++中容易引发程序错误的地方,如指针操作和内存管理;
在 Java 中任何东西都是对象,
因此,重点集中在数据以及应用程序中的数据操作方法。
Java提供了包容广泛的例程库,可处理像 HTTP和 FTP这样的 TCP/IP协议。 Java应用程序可通过一个特定的 URL来打开并访问对象,就像访问本地文件系统那样简单。
6
Java语言提供的安全
编译器提供的安全
字节码校验器
类加载器
Java的基本特点 3-2
健壮性
安全
体系结构中立
可移植性
Java在编译和运行程序时都要对可能出现的问题进行检查
它提供自动垃圾收集来进行内存管理
面向对象的异常处理机制
Java 程序被编译成一种与体系结构无关的字节代码
只要安装了 Java运行时系统 Java程序可以在任意的处理器上运行
源代码级
目标代码级
7
Java的基本特点 3-3
解释执行
高性能
多线程
动态
编译器 javac 将处理,java源文件生成类文件
类文件可通过名称为 java 的加载实用程序解释执行,将 Java 字节码转换为机器可执行代码。
通过 JIT编译器首先将字节码编译成固有代码,将结果缓存下来,
然后在需要时调用它们。
Java语言内置支持多线程的功能
Java 类库提供了 Thread 类
Java自身的设计使它适合于一个不断发展的环境。在 Java类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。
8
Java 程序的运行环境编译型源程序字节码程序Java源程序可执行程序 EXE
裸机操作系统解释器编译连接编译执行解释执行
.java,class
Java虚拟机
Java是解释执行的高级编程语言
9
Java虚拟机 2 - 1
Java虚拟机是一种利用软件方法实现的抽象化的计算机,基于下层的操作系统和硬件平台,可以在上面执行 Java的字节码程序。
Java虚拟机 将在内部创建一个运行时系统,帮助以下列方式执行代码:
– 加载,class 文件
– 管理内存
– 执行垃圾收集
10
Java虚拟机 2 - 2
由于硬件平台不一致,因此 Java虚拟机使用了堆栈帧的概念,用来存放下列信息:
– 表示方法状态的帧
– 字节码操作数
– 传递给方法的参数
– 局部变量
11
实时编译器
使用“实时 (Just In Time)” 编译器,也称为
JIT编译器。可以提高 Java 代码的执行速度。
SUN公司在 Java 2 发行版中提供了 JIT编译器,
JIT编译器是 Java虚拟机的一部分。
JIT 的主要用途是将字节码指令集转换为针对某一特定微处理器的机器代码指令。
12
Java 运行时环境编译时
.java
(源代码)
.class
(字节码)
运行时类加载器字节码校验器解释器 JIT代码生成器硬件网络
13
垃圾收集 2-1
Java 虚拟机使用两个独立的堆内存,分别用于静态内存分配和动态内存分配。
– 其中一个是非垃圾收集堆内存,用于存储所有类定义、常量池和方法表。
– 另一个堆内存再分为两个可以根据要求往不同方向扩展的小块。
用于垃圾收集的算法适用于存放在动态堆内存中的对象。
14
垃圾收集 2-2
垃圾收集器将在收集对象实例之前调用
finalize 方法。
即使显式调用垃圾收集 (System.gc( )) 方法,
它也不能保证立即运行。
垃圾收集线程的运行优先级很低所以可能经常会被中断。
15
Java 的编辑环境
JDK是有助于程序员开发 Java 程序的 Java
开发工具包 包括:
– 类库
– 编译器
– 调试器
– Java 运行时环境 ( JRE )
16
JDK 提供的常用工具
javac 是用来编译源代码的命令。
java 是用于执行类文件的命令,而类文件将在 Java 虚拟机中运行类。
appletviewer 命令允许在万维网浏览器的环境之外运行 Applet。
17
Java Application程序基本结构
import语句
class
{
public static void main(String[ ] args)
{
}
}
主类名称方法体
18
第一个 Java 程序
//这是名称为,HelloWorld.java”的简单程序
import java.io.*;
class HelloWorld {
public static void main(String args[ ])
{
System.out.println(“欢迎访问 Java 世界!,);
}
}
单行注释导入必要的包定义类
Main函数在控制台上输出
19
在记事本编辑 Java程序单击开始依次选择程序 ->附件
->记事本
//这是名称为,HelloWorld.java”的简单程序
import java.io.*;
class HelloWorld {
public static void main(String args[ ])
{
System.out.println(“欢迎访问 Java 世界!,);
}
}
20
编译和运行单击开始依次选择程序 ->附件
->命令提示符进入程序所保存的目录 输入命令编译
HelloWorld
输入命令执行
HelloWorld输出结果
21
Java API 文档 2-1
加载 API 文档的步骤:
1,打开 Internet Explorer。
2,键入下列 URL
http://java.sun.com/j2se/1.4.1/docs/api/index.html
3,通过单击相关主题,可以浏览网页。
Java API 文档是一种非常有用的文档,描述许多 java 的内置功能,包含类、
包、接口等的帮助。
22
Java API 文档 2-2
选择包选择包中的接口或类可查看相应帮 助
23
总结 3-1
Java 是一种面向对象的编程语言,主要用于 Internet 应用程序。
Java 可用来生成两类程序:应用程序,
小应用程序 ( Applet ) 。
Java 既是一种解释执行的语言,也是一种编译执行的语言 。
24
总结 3-2
Java 的特点包括:
– 简单
– 面向对象
– 分布式
– 健壮性
– 安全
– 体系结构中立
– 可移植性
– 解释执行
– 高性能
– 多线程
– 动态
25
总结 3-3
Java 虚拟机是 Java 编程语言的核心。
Java 运行时环境 (JRE) 包含一方面与硬件交互、另一方面又与程序交互的 JVM。
Java 开发工具包有助于开发 Java 程序。
JDK 提供多种工具,这些工具位于 JDK 的
bin 目录下,具体如下:
– javac
– java
– appletviewer