java基础word讲义.docx

上传人:b****5 文档编号:3408773 上传时间:2022-11-22 格式:DOCX 页数:11 大小:50.06KB
下载 相关 举报
java基础word讲义.docx_第1页
第1页 / 共11页
java基础word讲义.docx_第2页
第2页 / 共11页
java基础word讲义.docx_第3页
第3页 / 共11页
java基础word讲义.docx_第4页
第4页 / 共11页
java基础word讲义.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

java基础word讲义.docx

《java基础word讲义.docx》由会员分享,可在线阅读,更多相关《java基础word讲义.docx(11页珍藏版)》请在冰豆网上搜索。

java基础word讲义.docx

java基础word讲义

0.序言2

0.1.Java技术的发展2

0.2.Java技术的优点2

0.3.关于本课程2

0.4.课程内容3

0.5.课程进度4

0.6.课程目标4

模块一出发5

1.Java技术概述5

2.Java运行环境6

2.1.Java虚拟机6

2.2.内存回收(垃圾收集)6

2.3.代码安全7

3.HelloWorld8

3.1.HelloWorldApp8

3.2.描述HelloWorldApp8

3.3.编译并运行HelloWorldApp9

3.4.下载并安装J2SE1.49

4.练习10

4.1.探险Java错误10

4.2.编辑、编译、执行TestGreeting10

5.作业10

1.

序言

1.1.Java技术的发展

1991年,电视机,机顶盒,录象机的开发设计需要一种可移植、方便、高效的计算机语言。

为了满足这种需求,SunMicrosystem开发了Java。

1994年,SunMicrosystem推出了用Java编写的HotJava浏览器,它显示了Java创建动态和交互式Web页面的强大能力。

上世纪九十年代中期,SunMicrosystem推出了SunJavaDevelopmentToolkits1.0,简称JDK1.0。

JDK1.0是一个功能强大的软件包,可以用来开发小应用程序和多种操作系统(SunSolaris2.3,WindowsNt,Windows95,Macintosh)的应用程序。

JDK1.0很快全世界流行起来。

人们普遍认为Java是用来开发动态的、分布式的Web内容以及桌面应用程序的最好的语言。

1998年Sun推出Java2Platform,它定义了所有Java技术的概念和标准,即包扩已经实现的技术也包括尚未实现的技术;即包扩Sun的实现也包括其它公司的实现。

目前,Java2SDK1.3是Java2Platform的最新定义。

这个定义又可以细分为三个版本:

企业版:

J2EE,用于开发重要部门和企业级应用。

微型版:

J2ME,用于开发移动电话,机顶盒,个人数字设备等。

标准版:

J2SE,用于开发普通的小应用程序和应用程序。

它是我们这门课程要讲述的内容。

1.2.Java技术的优点

Java技术取得今天这样的成就,依赖于这门技术的先进性,Java技术具有下列优点:

●简单、健壮:

许多高级语言都要由程序员进行指针运算和存储器管理。

这项工作即复杂又容易出错。

Java不需要程序员进行指针运算和存储器管理,简化了设计,减少了出错的可能性。

●面向对象:

Java是面向对象的程序设计语言。

与面向过程的语言相比,面向对象的语言更能反映人类对世界的认识和处理模式,具有良好的代码重用性。

处理复杂、庞大而且不断变化的信息系统,必须使用面向对象的程序设计语言。

●分布式:

目前,在所有软件产品中,仅供单个计算机使用的单机版软件所占的比例越来越小。

大多数软件都可以运行在网络环境中。

Java拥有一个网络协议对象库(TCP/IP,HTTP,FTP等),可以象访问当地文件一样访问Internet上的对象。

●改进的解释性:

为弥补解释语言速度较慢的不足,Java采用预编译的办法,将原程序生成字节代码,减轻运行时的解释工作。

另一方面,有些Java运行环境采用Just-In-Time(JIT)编译器将字节代码编译成机器码直接运行,这种运行环境对于重复执行的服务器端软件特别有效,可以达到C语言的速度。

●安全:

Java语言在编译时删除了指针和内存分配,在运行时检查字节代码,拒绝执行非法的内存访问,超越权限的访问等。

可以防御黑客攻击。

●与系统无关:

Java通过采用虚拟机技术真正实现了与平台无关。

Java软件是真正跨平台可移植的。

●多线程:

允许一个应用程序同时做多个任务。

●动态性:

Java允许下载代码模块,因此,当程序运行时也能动态升级。

●高性能:

经过实际的综合评测得出结论,Java是高性能的。

1.3.课程内容

本课程的主要内容包括:

●Java运行环境:

硬件、操作系统、Java自身的体系结构。

●面向对象的程序设计:

面向过程的的软件是人要求计算机完成的一串动作;面向对象的软件体现了人对事物的分析解决过程,它不仅使软件设计更容易,而且可以使软件被广泛继承(重用)。

●Java编程语言句法。

●图形用户界面(GUI):

菜单、对话框、文本框等基本组件。

●Applet(小应用程序)。

运行于浏览器中

●线程。

可独立运行的代码段。

●高级I/O流。

用I/O流操纵数据文件、文本文件。

●网络。

通过网络互相访问。

1.4.课程目标

完成本课程的学习后,你应该能够:

-描述Java语言的主要特性、构造和句法

-编译并运行Java应用程序

-理解,并且使用在线Java技术文件

-理解面向对象的概念,并使用Java语言的面向对象特性

-理解并使用异常

-开发图形用户界面

-描述抽象窗口工具包

-从GUI输入

-理解事件处理

-开发Javaapplets

-读写文件和其它数据源

-在不使用GUI的情况下,对所有数据源执行输入输出

-理解多线程

-开发多线程Java应用程序和applets

-使用TCP/IP和UDP(用户数据报协议)开发客户端和服务器程序

第1章出发

本模块对Java编程语言做了一般性描述,包括Java虚拟机、垃圾收集(内存回收)和代码安全性等。

完成本模块的学习后,你应该能够:

-描述Java技术的组成。

-描述Java虚拟机的主要功能。

-描述内存回收是如何进行的。

-列举运行字节代码的三大步骤。

-定义Class,Package,Applets和Applications

-编写、编译并运行简单Java应用程序

2.Java技术概述

任何复杂的事物都可以分解成一些相对简单的组成部分。

Java作为一门丰富而复杂的新技术,它由下列这些技术层面组成:

∙Java编程语言:

定义变量、表达式、控制转移等基本规则。

Java编程语言是面向对象的编程语言。

可被用来创建任何常规编程语言所能创建的应用程序。

∙Java类库:

Java软件工具包(SDK)为程序员提供了几千个类,包括窗口,图形用户界面,输入/输出,联网等任何你需要的内容。

∙Java运行环境:

包括Java字节代码的加载器、校验器以及Java虚拟机。

∙Java虚拟机:

Java技术出于跨平台,可移植的考虑,没有将程序的原代码编译连接成CPU的指令序列,直接交给计算机执行。

Java技术在不同的硬件,不同的操作系统之上,定义了完全相同的支持Java程序运行的虚拟计算机。

Java原程序被编译成字节(byte)代码,在Java虚拟机上运行。

∙Java工具:

编译器,注释器(interpreter),文档生成器等工具

∙Java小应用程序:

小应用程序(Applets)是一种贮存于WWW服务器上的用Java编写的程序,它通常由浏览器下载到客户系统中,并通过支持Java运行环境的浏览器运行。

它由超文本标识语言(HTML)的Web页来调用。

∙Java应用程序:

Javaapplications是一种独立的程序,它不需要任何Web浏览器来执行。

它们是普通的应用程序;可运行于任何具备Java运行环境的设备中。

∙其它Java程序:

JavaBean,Servlet,JSP等。

3.Java运行环境

如图1-2所示,java源程序经过编译生成字节代码。

运行时,字节代码被装入java虚拟机中,由java虚拟机“解释/编译”执行。

java虚拟机可以运行在多种硬件、操作系统平台之上。

Compilejavacjavac

javajava

canrunonmultipleplatforms

 

图1-2

3.1.Java虚拟机

如图1-2所示,Java虚拟机在Java运行环境中处于核心地位。

SunMicrosystem希望Java具有跨平台可移植的能力,但是,由于现有的计算机硬件和操作系统的种类繁多,任何一家公司都无力实现这样的目标。

SunMicrosystem的办法是要求所有其它计算机都满足Java的要求,都能够以同样的规范接受Java。

为此,SunMicrosystem定义了一台虚拟的Java计算机(JVM):

∙指令集(中央处理器[CPU])

∙注册集

∙类文件格式

∙栈

∙垃圾收集堆

∙存储区

所有支持Java技术的真实计算机都要实现JVM。

JVM可以用硬件方法实现,也可以用软件方法实现。

Java虚拟机隐藏了纷繁复杂的计算机硬件和操作系统,使我们只面对单一的支持Java的计算机。

当我们写好Java原程序后,使用编译器将原代码转换成JVM的指令序列(字节代码),保存在.class文件中。

执行Java程序时,JVM负责解释字节代码,将JVM的指令转换成真实的机器指令,并执行。

3.2.内存回收(垃圾收集)

应用程序需要存储器时,它会向系统申请分配存储器,应用程序不再需要的存储器应及时归还给系统。

在C,C++或其它语言中,程序员负责申请、归还存储器。

有时,这是一件很困难的事情。

因为你并不总是事先知道存储器应在何时被释放。

当在系统中没有能够被分配的存储器时,可导致程序瘫痪,这种程序被称作具有存储器漏洞。

Java编程语言解除了程序员归还存储器的责任,它提供一种系统级线程,跟踪每一块存储器的分配情况。

在Java虚拟机的空闲周期,垃圾收集线程检查并释放那些可被释放的存储器。

垃圾收集在Java技术程序的生命周期中自动进行,它解除了归还存储器的要求,并避免了存储器漏洞。

3.3.代码安全

图1-3

如图1-3所示:

Java源程序文件通过“编译”,转换成字节码。

字节码被存储在.class文件中。

构成Java软件程序的字节代码在运行时被加载、校验并在解释器中运行。

当运行applets时,字节码可被下载,然后由浏览器中的JVM进行解释。

解释器具备两种功能,一是执行字节代码,二是对底层硬件做适当调用。

在一些使用Java技术的运行环境中,部分校验过的字节码被编译成原始机器码并直接运行于硬件平台。

这就使Java软件代码能够以接近C或C++的速度运行,只是在加载时,因为要编译成原始机器码而略有延迟。

Java技术运行字节代码包含如下三大步骤:

∙加载代码-由类加载器执行

∙校验代码-由字节码校验器执行

∙执行代码-由运行时的解释器执行

为了加强代码的安全性,Java技术在类加载器和字节码校验器中设计了安全机制:

3.3.1.类加载器

类加载器为程序的执行,加载所需要的全部类。

类加载器将本地文件系统的类名空间,与来自网络源的类名空间相分离,以增加安全性。

当全部类被加载后,可执行文件的存储器格式被确定。

这时,特定的存储器地址被分配给符号引用并创建检索表格。

由于存储器格式在运行时出现,因而Java技术解释器增加了保护以防止对限制代码区的非法进入。

3.3.2.字节代码校验器

所有来源于网络的类文件都要经过字节码校验器。

字节码校验器测试:

●代码段语法格式是否正确。

●有无违反规则的非法代码

伪造指针

∙违反对象访问权限

∙试图改变对象类型。

字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM规范并且不破坏系统的完整性。

如果校验器在完成四遍校验后未返回出错信息,则下列各项要求会得到保证:

●程序代码所在的类,符合JVM规范的类文件格式

●无访问限制违例

●代码未引起操作数栈上溢或下溢

●所有操作代码的参数类型将总是正确的

●无非法数据转换发生,例如:

将整数转换为对象引用

4.HelloWorld

许多编程语言都是以一个简洁的“HelloWorld!

”程序作为入门的。

我们为学员准备了一个应用程序(HelloWorldApp),以及一个运行在浏览器中的小应用程序(HelloWorldApplet)

4.1.HelloWorldApp

1.//

2.//SampleHelloWorldapplication

3.//

4.publicclassHelloWorldApp{

5.publicstaticvoidmain(Stringargs[]){

6.System.out.println("HelloWorld!

");

7.}

8.}

以上程序行是在你的屏幕上打印“HelloWorld!

”所需的最少代码。

4.2.描述HelloWorldApp

1//

2//SampleHelloWorldapplication

3//

程序中的1-3行是注释行

4publicclassHelloWorldApp{

第4行声明一个叫做HelloWorldApp的类。

所有的Java程序都被包含在各种各样的类中。

类名必须与保存类的文件名(不包含后缀.java)相同,字母的大小写也要相同。

Java编译器能够根据源文件创建一个与类名(加后缀.class)相同的字节代码文件(或称类文件),它包含了公共类HelloWorldApp的编译代码。

5publicstaticvoidmain(Stringargs[]){

第5行是程序执行的起始点。

Java技术解释器必须发现这一严格定义的点,否则将拒绝运行程序。

在控制台启动程序时,可以在命令行中给程序传递一些参数,这些参数将被传递给main()方法中的args。

Args是String类型的数组。

在本例题中,未使用命令行参数。

public:

描述方法main(),可以被任何程序访问,包括Java技术解释器。

static:

说明main()是属于类HelloWorldApp的函数。

为使main()在程序做其它事之前就开始运行,这一关键字是必要的。

void:

表明main()不返回任何信息。

这一点是重要的,因为Java编程语言要进行谨慎的类型检查,包括检查调用的方法确实返回了这些方法所声明的类型。

Stringargs-是一个String数组的声明,它将包含位于类名之后的命令行中的自变量。

javaHelloWorldAppargs[0]args[1]····

6System.out.println(“HelloWorld!

”);

第6行使用标准输出流System.out的println()方法,将字符串“HelloWorld!

”打印到标准输出上。

在这个例子中,println()方法被输入了一个字符串自变量并将其写在了标准输出流上。

7}

8}

本程序的7-8行分别是方法main()和类HelloWorldApp的下括号。

4.3.编译并运行HelloWorldApp

编译HelloWorldApp.java:

javacHelloworldApp.java

运行应用程序:

javaHelloWorldApp

得到结果:

HelloWorld

4.4.下载并安装J2SE1.4

下载J2SESDK1.4。

网址:

双击下载文件,将Java2标准版安装在X:

\Java2\JDK1.4目录下。

设置系统环境变量。

JAVA_HOME=F:

\JAVA\JDK1.3

PATH=%PATH%;F:

\JAVA\jdk1.3\BIN;F:

\JAVA\sdkee1.3\BIN;F:

\JAVA\ANT1.3\BIN

CLASSPATH=.;%J2EE_HOME%\lib\j2ee.jar

5.练习

5.1.探险Java错误

在本练习中,你将解决几个编译和运行时错误,这些错误是被安放在程序中的。

5.2.编辑、编译、执行TestGreeting

参考本章的例题,编辑、编译、执行TestGreeting。

6.作业

-描述Java编程语言的主要特性

-描述JVM

-描述垃圾收集是如何进行的

-列出由处理代码安全性的Java平台所执行的三个任务

-定义术语类、包、applets和application

-编写、编译并运行一个简单的Java应用程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1