第1章 Java语言概述 陈国君
通过本章的学习,主要掌握以下知识点: Java语言的特点 Java虚拟机的概念 Java程序的种类和结构 2019/4/26
本章的重点: 1. Java虚拟机的概念 2. Java两种程序的区别 本章的难点: Java程序的结构 2019/4/26
1.1 Java语言的诞生与发展 Java语言诞生于20世纪90年代初期,从它的正式问世以来,它的快速发展已经让整个Web世界发生了翻天覆地的变化。 2019/4/26
Java的前身是SUN Microsystems公司开发的一种用于智能化家电的名为Oak(橡树)的语言,它的基础是当时最为流行的C和C++语言。但是,由于一些非技术上的原因,Oak语言并没有得到迅速的推广。直到1993年,WWW(万维网)迅速发展,SUN公司发现可以利用Oak语言的技术来创造含有动态内容的WWW网页,因此,已受人冷落了的Oak语言又被重新的开发和改造,并将改造后的Oak语言改名为Java语言,即太平洋上的一个盛产咖啡的岛屿的名字。终于,在1995年,Java这个被定位于网络应用的程序设计语言被正式的推出。 2019/4/26
随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的Java Server Page(JSP)技术的推出,更是让Java成为基于Web应用程序的首选开发工具。Internet的普及和迅猛发展,以及 Web技术的不断渗透,使得Java语言在现代社会的经济发展和科学研究中,占据了越来越重要的地位。 2019/4/26
1.2 Java语言的特点 简单易学 面向对象 平台无关性 分布式 可靠性 安全性 支持多线程 支持网络编程 编译与解释并存 2019/4/26
1.3 Java技术简介 目前Java技术主要包括三个方面: J2SE(Java 2 Stand Edition) J2ME(Java 2 Micro Edition) J2EE(Java 2 Enterprise Edition) 2019/4/26
1.4 Java虚拟机 大部分的程序语言都必须先经过编译(compile)或解释(interpret)的操作才能在计算机上运行,例如C/C++等是属于编译型的语言,而Basic与Lisp等则是属于解释型的语言。然而,Java程序却比较特殊,它必须先经过编译的过程,然后再利用解释的方式来运行。通过编译器(compiler),Java程序会被转成与平台无关(platform-independent)的机器码,Java称之为“字节码”(byte-codes)。通过Java的解释器(interpreter)便可解释并运行Java的字节码。图1.1说明了Java程序的执行过程。 2019/4/26
图1.1 Java程序的运行过程:先编译,后解释 Windows98 app.class app.java Java 源文件 字节码 文件 编译器 解释器 图1.1 Java程序的运行过程:先编译,后解释 2019/4/26 汕头大学计算机教学中心
字节码是Java虚拟机的指令组,和CPU上的微指令码很相象。它的形式为“<操作码><…操作数>”。其中,操作码就是指令码,占一个字节的长度,一个字节码可以有多个操作数。Java虚拟机规范中定义了220多个字节码指令。由于字节码指令数目种类繁多,相对于机器码语义层次较高,因此,Java语言编译成字节码后文件尺寸较小便于网络传输。 2019/4/26
1.5 Java程序种类和结构 使用Java语言可以编写两种类型的程序:Application(应用程序) 和Applet(小程序)。 这两种程序的开发原理是相同的,但是在运行环境和计算结构上却有着显著的不同。 2019/4/26
Java Applet(小程序)与Java Application(应用程序)的不同之处如下: 运行环境不同 最低要求不同 图形用户界面的使用方式不同 2019/4/26
表1.1 Applet与Application的差别 功能要求 Application(应用程序) Applet(小程序) 使用图形 可选 固定用图形 发布 主要从文件系统装入 通过HTML连接 内存要求 最低Java应用程序要求 Java程序加Web浏览器要求 环境输入 命令行参数 嵌入HTML文档的参数 Java虚拟机(JVM)所要求的执行过程 主函数(main)启动过程 init初始化过程 start启动过程 stop暂停/关闭过程 destroy终止过程 paint绘图过程 2019/4/26
一般的Java源程序文件由以下三部分组成: package语句(0句或1句) import语句(0句或多句) 类定义(1个或多个类定义) 2019/4/26
一个程序中可以有多个类,但只有一个类是主类。在Java Application中,这个主类是指包含main()方法的类。在Java Applet里,这个主类是一个继承自系统类Applet的子类。主类是Java程序执行的入口点。 2019/4/26
END 2019/4/26