Java语言-自学手册完全版

更新时间:2023-12-22 01:16:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

北京广播电视大学 Java语言自主学习手册

理工教学部 2010.10

Java的发展史?1991.4—Sun进军消费电子产品市场, 成立Green小组,开发Oak语言?1992.10—成立First Person公司,将Oak应用于Web,改名为Java?1993~4 —Web技术在Internet上流行?1995.5—Sun正式发表Java与HotJava产品?1995.10 ——与Netscape合作?1995.12 ——微软支持Java?1996.2 ——Java 1.0正式出品?2000.9 ——升级至Java 1.3?2001.7 ——升级至Java 1.41第1讲概述2

Java 2 PlatformJava 2 Enterprise Edition (J2EE)包含开发基于Web的应用程序类与接口,包含servlet、JavaServerPages和Enterprise JavaBeans类等等Java体系结构应用程序Java编程语言Java类文件Java 2PlatformJava 2 Standard Edition(J2SE)包含Java类和GUI类Java运行时环境Java APIJava虚拟机Java 2 Micro Edition (J2ME)Java对电子设备提供优化的运行时环境3操作系统(Windows、Unix等等)4

Java运行环境Java运行时环境(JRE,Java Runtime Environment ) 是Java虚拟机与核心类的组合,即Java平台Java运行环境的主要功能:–加载代码:将字节码转化为本机代码,进行类的装载和符号引用的消解,由类装载器完成–校验代码:由字节码校验器完成–执行代码:控制代码的执行,由运行时解释器完成5?Java类库API类库APIJava API是SUN提供的用Java语言开发的集合Java应用程序编程接口(API,Application Program Interface )是预先编好的代码,组成类似主题的包Java API包括几十个包,常用的有:java.lang,java.io, java.util, java.net, java.awt, java.applet等6

Java 核心类包举例1.java.lang----包含一些Java语言的核心类2.java.awt----包含了构成抽象窗口工具集(AWT)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)3.java.applet----包含applet运行所需的一些类4.java.net----包含执行与网络相关的操作的类5.java.io----包含能提供多种输入/输出功能的类6.java.util----包含一些实用工具类7Java的语法机制Java是面向对象程序设计语言。面向对象的编程思想力图使对计算机语言中对事物的的描述与现实世界中该事物的本来面目尽可能的一致面向对象程序设计是使用类和对象将现实世界中真实的或抽象的实体在程序中建立模型8 1 / 50

Java的语法机制类(class)和对象(object)是面向对象方法的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)类(class)最重要、最基本的语法设施,类的定义与继承与C++类似,主要区别:?Java不允许多重继承,多重继承必须通过接口实现?Java引进了abstract 和final修饰词9直译式语言Java与C++比较JavaC++编译后产生机器码跨平台运行速度具有指针类型继承10

接口(interface)?是一种抽象类,其中只能出现静态常量或抽象方法定义?主要目的是实现多重继承功能,避免C++在多重继承语义上的复杂性?一个Java类可以实现(继承)多个接口程序包(package)?是一些相关类或接口的集合?Java提供包括可重用类标准程序包,用户可自定义程序包?通过import 语句将程序包引入应用程序11自动内存回收?Java取消了指针类型,所有动态内存请求均通过new运算符,并且得到的不是指针而是引用?系统自动进行内存回收多线程?语言级支持多线程,忽略操作系统多线程机制的差异,软件具有更好的可靠性和可移植性12

Java的特性Sun公司的Java语言白皮书中指出Java的特性1.2.3.4.5.6.简单性面向对象分布式特征健壮性直译性结构中立性7.可移植性8.安全性9.多线程10.高性能11.动态特征Java三种核心机制?Java 虚拟机(Java Virtual Machine)?垃圾收集机制(Garbage collection)?代码安全性检测(Code Security)1314

Java虚拟机(Java Virtual Machine)????在一台计算机上由软件或硬件模拟的计算机Java虚拟机(JVM)读取并处理经编译过的平台无关的字节码class文件Java编译器针对Java虚拟机产生_______文件,因此是独立于平台的Java_________负责将Java虚拟机的代码在特定的平台上运行15Java虚拟机(JVM)Java虚拟机规范定义了:–指令集–寄存器集:程序计数器、栈顶指针等–类文件结构–堆栈:提供各种参数等–垃圾收集堆–内存区域:存放字节码的方法代码、符号表16 2 / 50

Java自动垃圾收集技术(garbage collection)?不再使用的内存空间应回收?在C/C++等语言中,由负责回收无用内存?垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预?Java语言解除了程序员回收无用内存空间的责任。它提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间17Java代码安全性检测?三级代码安全检查–验证:在类下载时完成,检查从哪里下载文件,是否有权限进到本机系统–字节码校验:分析下载的字节码是否合乎规则–跟踪监测:执行时安全管理器始终监测所执行的每步操作,检查其合法性18

Java运行环境安装及配置Java开发工具集JDK(Java Development Kits) –Java编译器–Java运行时解释器–Java应用程序编程接口–Java文档化化工具–其它工具及资源19设置环境变量?Path 外部命令搜索路径?CLASSPATH类资源位置搜索路径20

安装后的目录结构21Java 程序分类?Java Application以main()方法作为程序入口,由Java解释器加载执行?Java Applet没有main()方法作为程序入口,可由浏览器加载执行22

简单Java应用程序(Application)举例源文件:HelloWorld.javapublic class HelloWorld{ public static void main(Stringargs[]){System.out.println(\World!\}}23Application应用程序分析?类定义(class)Java程序的基本组成部分是类public class HelloWorld?主方法Java Application程序的入口是方法固定的书写格式:public static void main(Stringargs[]){……}24

3 / 50

Application应用程序分析?源文件–Java程序的源文件扩展名必须是―‖–Java程序的源文件名必须与main() 方法所在相同–Java源文件中包含多个类?程序内容–由方法体实现程序要完成的功能,方法的实现由一个个语句组成–语句以―‖作为结束标志25–大小写Application应用程序分析?命名–如果.java 文件包含一个public 类,它必需按命名–如果一个类中含有main()方法,它必需按命名–文件名、类名大小写?类个数–一个源文件中有多个类,但只能有一个类其它类的个数不限26

Java编译器?javac.exe将.java文件编译成.class字节码文件格式javac<参数> < .java源文件名>-d <路径> 指定存放所产生类文件路径27Java解释器?java.exe解释执行.class字节码文件格式java < .class文件> [实参表]java -jar < .jar文件> [实参表]28

Java Application 的运行?javacHelloWorld.java功能:源文件名为HelloWorld.java,由javac编译器编译源程序,产生字节码文件(.class文件)?java HelloWorld功能:字节码文件由java解释器解释执行29Java Applet?Applet就是使用Java语言编写的在环境中运行?Applet类存于类的子类?它与Application的区别主要在于其不同?Application是从其中的方法开始运行的?Applet是在中运行的,必须创建一个文件,通过编写HTML语言代码告诉浏览器载入何种Applet以及如何运行30的包中,是,它可以

Java Applet–code:–height:–width:31?HelloWorld.java源程序:import java.awt.Graphics;import java.applet.Applet;public class HelloWorldextends Applet {String hw_text;public void init () {hw_text= \}public void paint(Graphicsg) {g.drawString(hw_text, 25, 25) ;}}32

4 / 50

本文来源:https://www.bwwdw.com/article/anr5.html

Top