第一章
Java语言概述
1.1 Java语言的发展和特点
了解Java语言的特点和工作机制
1.2 Java程序结构
掌握Java应用程序和Java小应用程序的结构
1.3 Java程序开发工具与开发步骤
掌握环境变量的配置和Java命令
2
1.1.1 Java语言的发展
History: 1991年由James Gosling负责开发的一个分 布式代码系统(Oak),最初是为家用消费电 子产品(电冰箱、电视机等)进行编程控制 。 1993年Sun 公司将目标市场转向 Internet 。 1994年将Oak语言更名为Java。 1995年Java被正式发布,之后立即引起极大 的轰动。
3
1.1.1 Java语言的发展
Support: 许多大公司购买了Java许可证,包括IBM、 Apple、DEC、HP、Microsoft等。 众多软件开发商支持Java的
软件产品。如: Sybase、Oracle等 Intranet(企业内部网)正在成为企业信息系 统最佳的解决
方案。
4
2008年12月TIOBE编程语言排行榜发布 NO.1 java 占据19.367% NO.2 C 占据16.163% NO.3 C++ 占据10.893% NO.4
PHP 占据9.479% NO.5
VB 占据9.478% NO.6 C# 占据4.643% NO.7 Python 占据4.567% NO.8 Perl 占据3.603% NO.9 JavaScript 占据3.062% NO.10
Delphi 占据3.055%
5
1.1.2 Java语言的特点
? 简单性 ? 面向对象 ? 分布式 ? 健壮性 ? 安全性
?
系统精简,但功能齐备。 ?风格类似于C++,易掌握。 完全面向对象的,它 ?Java摒弃了C++中容易引发 不支持类似C语言那样 程序错误的地方,如指针操 的面向过程的程序设 作和内存管理; 计技术。 ?提供丰富的类库。
?数据分布 ?提供面向对象的异常处理机制。 ?操作分布 ?自动垃圾收集来进行内存管理。 ?指针和释放内存等功能被删除 ?Java语言在执行前,编译器要经过检测
6
1.1.2 Java语言的特点
? 平台无关: ? 可移植性 ? 多线程 ? 动态
编译器将java源文件生成类 文件.class。类文件可通过 java命令解释执行,将Java 字节码转换为机器码。 Java应用程序可以在配备 了Java解释器和运行环境 的任何计算机系统上运行, 而与体系结构无关。 内置多线程功能,使得在一 个程序里可同时执行多个小 任务。
允许程序动态地装入运行过 程中所需要的类,这是C++ 语言进行面向对象程序
设计 所无法实现的。
7
1.1.3 Java程序的工作机制
Java的跨平台性--机器语言
不同种类的
计算机有不同的机器语言
8
1.1.3 Java程序的工作机制
Java的跨平台性--高级语言
高级语言程序 编译器的编译
目标语言程序
目标语言程序可能是:
机器语言程序
中间语言程序
如:80X86/ARM 机器语言程序 如:Java的 class 代码
9
编译后执行的高级语言程序存在的问题
问 题 为特定的平台 编写的程序在 其他平台上无 法使用
Program
解释 解释 器 Program 器 这样在解释器的帮助下,我们就可以编
写一次代码而在不 同的平台上运行。
解 决 办 法
解释 器
为解决这 个
问题, 我们使用 了“解释 器”。
10
1.1.3 Java程序的工作机制
编译时 .java (
源代码)
网络 字节码校验器 本机 class . (字节码) 解释器 JIT代码生 成器 硬件 运行时 类加载器
11
1.1.3 Java程序的
工作机制
1、Java虚拟机 实现平台无关性的基础就是Java虚拟机,是 以Java字节码为指令组的软CPU。负责对本 地*.class文件解释执行。 每个平台都有一个特定的JVM。即JVM是与平 台相关的
12
1.1.3 Java程序的工作机制
2、字节码
*.class文件与机器码不同,不是真正的 CPU可运行的指令代码,故又称伪代码。 通过JVM以及JRE将其转成本地机器代码, 达到一次撰写,到处运行的效果。 (Write Once,Run Anywhere)
13
几个
常用的缩写
JDK(Java Development Kit ):
Java 软件开发工具包。
JDK是Java的核心,包括Java运行环境、一系列java开发工 具和java基础的类库
JVM(java virtual machine):Java虚拟机
负责对本地*.class文件解释执行。包含类加载器、字节码确 认器、以及JIT实时编译器。
JRE(Java Runtime Environment):Java运行环境。
运行