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