Java开发综合实战 习题及答案 赵健 ch01 -10 Java开发环境和工具-访问数据库_第1页
Java开发综合实战 习题及答案 赵健 ch01 -10 Java开发环境和工具-访问数据库_第2页
Java开发综合实战 习题及答案 赵健 ch01 -10 Java开发环境和工具-访问数据库_第3页
Java开发综合实战 习题及答案 赵健 ch01 -10 Java开发环境和工具-访问数据库_第4页
Java开发综合实战 习题及答案 赵健 ch01 -10 Java开发环境和工具-访问数据库_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目1Java开发环境和工具

一、作为在网络时代得到广泛应用的编程语言之一,Java具有的优势是什么?

1.简洁易学。Java与C++类似,出现于C++之后,摒弃了C++中烦琐、少用和不好用的

部分,如goto语句、指针运算、操作符重载、多重继承、虚基类等。

2.跨平台/可移植性。这是Java的核心优势。Java介于编译型语言和解释型语言之间。

编译型语言(如C、C++)的代码是直接被编译成机㈱码执行的,由于不同平台的CPU的指令

集不同,因此需要编译出每种平台的对应机器码。解释型语言(如Python、Ruby)由解释器加

载源码,然后运行,缺点是运行效率较低。

3.安全性。Java虚拟机拥有工业级的稳定性和高度优化的性能,并且经过长时期的考验,

使Java可以很容易地构建防病毒、防篡改系统,适用于网络/分布式环境。

4.高性能。Java通过虚拟机的优化和JIT(JustInTime,即时编译)技术提升运行效率。不

仅如此,一些“热点”字节码被编译成本地机器码存储在缓存中,在需要的时候重新调用,

省去反复编译的过程,从而提高Java程序的运行效率。

5.分布式。Java是特地为互联网设计的。它有一个庞大的网络类库().支持各种网

络阶层的联系,能够处理TCP,IP协议。Java程序能够从网络的URL中获取所需要的资源并

加以处理。Java还支持RMI(RemoleMethodInvocalion,远程方法调用),使程序能够通过网络

调用方法。

6.多线程。使用多线程可以带来更好的交互响应和实时行为。Java内建的多线程

(mulli-lhread)功能,支持多个线程同时运行、这是Java成为主流服务器端开发语言的主要原

因之一。

7.健壮性。Java提供了一种系统级线程跟踪存储空间的分配情况的机制GC(垃圾收集),

在Java程序运行过程中自动进行操作,在很大程度上减少了因为没有释放空间导致的内存

泄漏问题。

二、根据应用环境的不同,Java分为哪些不同的版本?

l.JavaSE(JavaStandardEdilion)称为标准版,定位于桌面级应用程序的开发。这个版本

是Java平台的核心,包含标准的JVM和标准库,提供非常丰富的API(包括图形用户界面接

口AWT及Swing、数据库操作、网络功能与国际化、图像处理、多线程及输入/输出支持等)

用来开发一般个人计算机上的应用程序。

2.JavaEE(JavaEnterpriseEdition)称为企业版,其核心是EJB(企业Java组件模型),定位于

企业级分布式的网络应用开发,如电子商务网站开发和ERP系统开发。JavaEE是JavaSE

的扩展,在JavaSE的基础上增加了大量的API和用于服务器开发的类库,运行在一个完整

的应用服务器上,用来开发大规模、分布式、健壮的网络应用.

3.JavaME(JavaMicroEdilion淋为微型版,定位于嵌入式系统的开发,例如,掌上电脑、

手机等移动通信电子设备。根据电子消费产品的需求,JavaME精简了JavaSE核心类库,

也有自己的适合开发微小装置的扩展类。

三、什么是JDK?

JDK是JavaDevelopmen!Kit的缩写,即Java开发工具包,包括用于开发和测试用Java

编写并在Java平台上运行的程序的工具,如JRE、编译器和调试器等开发工具。其中,

JRE(JavaRuntimeEnvironmcni)是Java的运行环境,包含JVM和Java核心类库。JVM(Java

VirtualMachine)是Java虚拟机,是Java实现跨平台的最核心的部分。

四、简要介绍Java开发中几个很重要的可执行程序。

1.javac.exeJava的编译器,用于把Java源码文件(以.java为后缀)编译为Java字节码文

件(以.class为后缀)。

2.java.exe:JVM.用于运行编译后的Java程序。

3.jar.exe:打包工具,用于壬一组.class文件打包成一个jar文件,以便发布。

4.javadoc.exe:文档生成器,用于从Java源码中自动提取注耗并生成文档。

5.jdb.exe:Java调试器,可以设置断点和检查变量,用于开发阶段的运行调试。

6.jav叩.exe:Java反汇编器,可以显示编译类文件中的可访问功能和数据,同时显示字节

码的含义。

7.jconsole.exe:Java进行系统调试和监控的工具。

五、什么是Java?开发Java程序步骤。

Java程序(也称项目)以类为基本单位,由若干个类构成。为便于维护,每个类被放置在

一个源文件中。Java程序必须有一个主类,即含有main。方法(主方法)的类,它是执行程序

的入I」。

使用Eclipse开发Java程序的步骤一般为:新建Java项目~新建Java类编写Java代

码一运行Java程序。

项目2面向对象编程基础

六、面向对象是什么?

面向对象是一种符合人类思维习惯的编程思想,是一种数据抽象和信息隐藏的技术。在

程序开发中引入的面向对象编程(ObjectOrientedProgramming,OOP)的概念,其实质就是以

对象为中心,以信息为驱动,对现实世界中的对象进行建模操作。由于它使软件的开发更加

简单,又能降低软件的复杂度,提高软件的生产效率,因此得到了广泛应用。

七、面向对象所具有的特点主要可以概括为什么?

1.封装

封装是而向对象的核心思想,它有两层含义:一层含义是指把描述对象属性的变量及实

现对象功能的方法看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立程序

单位(即对象)中;另一层含义是指“信息隐藏”,即为封装在一个整体内的变量及方法设置不

同级别的访问权限。一些对象的属性及行为允许外界用户知道或使用,但不允许更改:另•

些对象的属性及行为,则不允许外界用户知道,或只允许使用对象的功能,而尽可能隐蔽对

象的功能实现细行。

2.继承

继承主要指类与类之间的关系,首先拥有反映事物一般特性的类,然后在其基础上派生

出能反映特殊事物的关。通过继承,可以更高效地对原有类的功能进行扩展。继承不仅增强

了代码的复用性,提高了开发效率,还为程序的修改补充提供了便利。

3.多态

多态是指把子类型的对象主观地看作其父类型的对象,那么父类型就可以包含很多种类

型,对同•种行为能够表现出很多种不同的形式。多态性可提高程序的抽象程度和简洁程度,

有助于程序开发人员之间进行协作。

八、在类中除了可以定义成员方法,还可以定义一个特殊的方法一构造方法。构

造方法是一个与类同名的方法,在使用关键字new实例化类对象时默认被调用,

用于初始化成员变量。构造方法的特点是引么?

1.构造方法名与所在类的类名相同:

2.构造方法没有返回值,不能指定返回值类型,也不能定乂为void:

3.构造方法用于初始化无static修饰的成员变量。

九、在Java中,关键字this可以描述哪种结构的引用?

1.当前对象:ihis。

2.当前类中的属性:this.属性。

3.当前类中的成员方法:ihis.方法名0。

4.当前类中的其他构造方法:this。。

十、一维数组实质上是什么?以及其声明方式。

一维数组实质上是一组具有相同数据类型的数据的有序集合,整个集合使用数组名称作

为标识符,其中的每一个数捱称为一个数组元素,按照排列顺序,使用一个唯一的索引(从

0开始)进行标识。数组的数据类型取决于数组元素的数据类型,可以是Java中任意的数据

类型(基木数据类型或弓I用数据类型)。数组必须先声明,再使用。

一维数组有以下两种声明方式:

元素数据类型数组名称n;

元素数据类型口数组名称;

其中,u表明声明的变量是一个数组,口的数量代表了数组的维度,一个u表示一维数

组。

项目3面向对象编程核心技术

十一、如何理解方法重写。

重写(Override)也称为覆盖,是指在子类中定义一个方法,该方法的名称和参数列表与

父类的成员方法相同,但修改或重新编写了实现内容、返回值类型或访问权限修饰符。也就

是说,在Java中重写方法必须满足以下两个条件:子类方法名称和父类方法名称相同。子

类方法的参数类型、个数、顺序与父类的成员方法完全相同。

十二、调用父类的构造方法的语法格式是什么?

super.变量名:调用父类的成员变量。

super.方法名(参数列表):调用父类的成员方法。

super(参数列表):调用父类的有参构造方法。如果没有参激,则调用父类的无参构造方

法,此时该语句可以省略。

十三、关键字final的语法格式是什么?

关键字final表示不可改变,不仅可修饰类,还可修饰类的成员方法和成员变量。语法

格式如下:

1.修饰类。

Finalclass类名(..)〃表示该类不能被其他类维承

2.修饰类的成员方法。

final返回值类型方法名称(参数列表){..}〃表示该方法不能被重写

3.修饰类的成员变量。

在修饰类的成员变量时,与继承无关,而是表示定义一个常量。

final数据类型常量名=值;

如果在程序中试图修改由关键字final修饰的类或类成员,则会产生编译错误。

十四、在Java中,重载方法必须满足什么条件?

1.方法名相同,包括字母大小写。

2.方法的参数列表必须不可,可以是参数的类型、个数或顺序不同。

3.方法的返I可值类型、修诡符可以相同,也可以不同。

十五、如何理解成员内部类。

所谓成员内部类,就是被定义在一个类内部,作为类的成员的类。定义成员内部类的语

法格式如下:

修饰符classOuterClass{

修饰符classInnerClass{

〃类体

其中,OuterClass类是外部类,InnerClass类是内部类。成员内部类可使用static、public、

protected和private修饰,而外部类只能使用public或默认修饰符修饰。需耍注意的是,在

成员内部类中不能定义静态变量。

项目4异常处理

十六、在Java中,程序异常的类型有哪些?

I.EiTor类。

Error类是程序无法处理的错误,表示在应用程序运行时出现的严重错炭,例如,Socket

编程时端口被占用、JVM可用内存不足等错误。这些错误不是异常,而是脱离程序员控制

的问即,遇到这些错误,JVM会选择终止线程。

2.Exception类。

Exception类是程序本身可以处理的异常,可分为运行时异常与编译异常,可以被捕获

并处理。

十七、处理编译异常的方法是什么?

编译异常必须由iry-calch语句进行捕获和处理,或包含在方法声明的throws列表中,

由方法的调用者进行捕获和处理,否则程序不能通过编译。

捕获异常的语法格式是一个完整的结构,try、catch和flnally3个子句不能单独使用,

但可以组合为iry-catch、iry-catch-finally或try-finally结构使用。其中,catch了句可以有一

个或多个,但finally子句只能有一个。

十八、如何在方法中抛出异常?

1.使用throws关键字抛出异常

在定义方法时使用throws关键字声明,表示在该方法中可能抛出异常,但不处理异常,

而是交给方法的调用者进行处理。语法格式如下:

返回值类型方法名(参数列表)[hrows异常类型名{

〃方法体,抛出异常

2.使用throw关键字抛出异常

异常类对象通常是在产生异常时,由JVM自动实例化的。如果用户要手动实例化异常

类对象,就需要使用throw关键字。将throw关健字用在方法体内,不仅可抛出Exception

类中的子类异常’,还可以抛出自定义异常,由方法体内的语句进行处理。语法格式如下:

Thrownew异常类型名(异常信息)

十九、如何解释RuntimeException类及其子类的异常。

这类异常通常由程序逻辑错误产生,是可以避免的异常,列如,对象没有正常初始化、

数组元素引用越界等。这些异常在编写代码时不会被编译器检测出来,可以不被捕获。

二十、自定义编译异常类,则可以通过继承Exception类的方式创建,具体的语

法格式是什么?

修饰符class自定义异常类名extendsException]

〃类体

如果要自定义运行时异常类,则可以通过继承RunlimeExcepiion类的方式创建,具体

的语法格式如下:

修饰符class自定义异常类名extendsRuntimeException(

〃类体

项目5图形用户界面设计

二H--、Swing概述是什么?

Java早期在进行图形用户界面设计时,主要使用Java抽象窗M工具包

(Abs(ractWindowToolkit.AWT)ava.awt提供的用于设计图形用户界面的组件类。javax.swing

包(简称Swing)是随JDK1.2推出的一个新包,提供了功能更为强大的设计图形用户界面的

类。

二十二、Java类库提供了丰富的容器类,为用户选择与创建容器带来了极大的

便捷。具有两种常用容器是什么?

1.底层容器

底层容器是指最外层的容器,即包含所有组件或容器的那层容器。Java提供的JFrame

类的实例,即通常所说的窗I」就是一个底层容器:JDialog类的实例,即通常所说的对话框,

也是一个底层容器。每一个可视化的图形用户界面应用程序都应该有一个底层容器,其他组

件必须被添加到底层容器中,以便借助这个底层容器和操作系统进行信息交互。

2.面板容器

面板容涔是一-种没有边框、没有标题栏的中间层容器。常见的面板容器有两种:•种是

普通的面板容器,在Swing中用JPanel类实现;另一种是带滚动视图的面板容器,在Swing

中用JScrollPane类实现。

二十三、什么是JFrame窗口?

JFrame类是Component类和Conlainer类的间接子类。JFranie类的实例是一个底层容器,

通常也被称为窗口。在开发应用程序时,可以通过继承JFrame类或直接使用JFrame类的实

例创建一个窗口。

二十四、在Java应用程序中创建JFrame窗口的一般操作过程。

在Java应用程序中创建JFrame窗口的一般操作过程为:仓J建窗口一定位窗口f指定窗

口扩展和关闭方式一指定窗口可见。

二十五、在Java应用程序中,使用JPanel面板的基本步骤。

1.定义一个JPanel类的子类并实例化一个类对象。

JPanel类提供了如下两种形式的构造方法。

JPanel。:创建一个布局管理器为FlowLayoul的面板。

JPanel(LayoutManagerlaycut):创建一个布局管理器为layout的面板。

2.使用getConlenlPane().add()方法将面板放置到窗H中。

项目6GUI事件处理

二十六、事件对象、事件源、事件监听器、事件处理器这4个概念如何理解。

1.事件对象

事件对象是指被封装在GUI组件上发生的特定事件的类对象,通常是用户进行的一次

操作,如单击按钮、按下按键等。

2.事件源

能够产生事件的对象都可以被称为事件源,通常是产生事件的组件,如文本框、按钮、

下拉列表等。

3.事件监听器

事件监听器负责监听事件源上发生的事件,以便对发生的事件进行处理。事件源通过调

用相应的方法将某个对象注册为自己的监听器。

4.事件处理器

事件处理器负责接收事件对象并进行相应的处理,被包含在一个事件监听器类中。事件

监听器实质上就是一个实现特定类型监听器接口的类对象,为了处理事件源发生的事件,监

听器这个对象会自动调用一个方法来处理事件。

二十七、Java将事件分为哪两个类别?

1.低级事件

低级事件是指来自键盘、鼠标和与窗口操作有关的事件。冽如,关闭窗口、移动鼠标、

获取焦点或按下按键等。

2.语义事件

语义事件是指与组件有关的事件。例如,单击按钮、在文本框中输入文本、拖动滚动条、

选择列表项等。

二十八、在应用程序中,触发窗口事件时的流程?

在应用程序中,触发窗口事件时,WindowEvent类将创建一个窗口事件对象。该对象调

用getWindow()方法获取发生窗口事件的窗口。在对窗口事件进行处理时,首先需要定义一

个实现了WindowLisiener接口的类作为窗口监听器,然后通过addWindowListener。方法将

窗口对象与窗口监听器进行绑定。

二十九、鼠标事件(MouseEvent)的流程。

在处理鼠标事件时,首先需要实现MouseListener接口(或MouseMotionListener接口)或

继承适配器MouscAdaptcr类(或MouscMotionAdaptcr类)来定义监听器,然后调用

addMouseListener()方法(或addMouseMoiionListener。方法)将监听器绑定到事件源上。

三十、焦点事件几个级别?

焦点事件有持久性和暂时性两个级别。当焦点直接从一个处件移到另一个组件时,会发

生持久性焦点变更事件;如果失去焦点则是暂时性的,例如,在窗口被拖放时会失去焦点,

而拖放结束后就会自动恢复焦点,这就是暂时性焦点变更事件。利用FocusEvent类中的

publicbooleanisTemporary(方法可以返回焦点变更的级别,返回true表示暂时性的,返回false

表示持久性的。

项目71/0操作

三十一、要构造一个File对象,需要传入文件路径,可以是绝对路径,也可以

是相对路径。语法格式有几种?

I.File(Stringpathname).,

该构造方法使用参数pathname指定包含文件名的路径。V/indows平台使用作为路

径分隔符,在Java字符串中需要用转义字符“W”表示也可以直接使用/进行路径分隔。

Linux平台使用“广作为路径分隔符。

2.File(Stringparent,Stringchild)0

该构造方法通过指定父路径parent和子路径child传入文件路径。父路径是磁盘根目录

或磁盘中的某个文件夹,如D:/或D:/workspace/。子路径是包含文件类型后缀的文件名,如

stars.txto因此,上面的代码也可以写成如下形式:

Filefilel=newFile("D:/workspace/",''stars.txt");

Filefilel=newFileC'DiWwcrkspaceW'V'stars.txt");

3,File(Filef,Stringchild)。

该构造方法根据磁盘中的某个文件夹f(称为父File对象)和要创建的文件名child(称为了

File对象)创建File对象。例如,上面的代码也可以写成如下形式:

Filefl=newFile("D:/workspace/");〃创建父File对象

Filefilcl=ncwFilc(flJslars.ixl");//绝对路径是D:\workspacc\stars.txt

三十二、创建文件的语法格式是什么?

使用File类创建File对象后,如果File对象指向的文件不存在,则可以调用creaieNew

File。方法创建文件,语法格式如下:

BooleancreateNewFileO

三十三、调用mkdirO方法创建单个文件夹和多级目录的流程?

Booleanmkdir():创建一个文件夹,路径名由当前File对象指定。若创建成功,则返回true,

否则返回false。

Booleanmkdirs。:创建多级目录,路径名由当前File对■象指定。

与文件操作类似,无论是创建文件夹还是删除文件夹,都需要先调用exists。方法判断

文件夹是否存在。

三十四、Java在FiIe类中提供了两个列出文件夹内容的方法。

1.list。方法

该方法使用字符串数组返回当前File对象表本的目录中所有的文件和文件夹名称。

2.1istFiles()方法

该方法的功能与list。方法相同,不同的是,该方法会列出文件的完整路径,返【可值为

一个File对象数组。

三十五、如何使用RandomAccessFile类的以下两种形式的构造方法创建随机

流?

RandomAccessFilc(S(rinoname.Stringmode)。

RandomAccessFilc(Filefile.Stringmode),

项目8网络编程基础

三十六、在网络通信过程中分为两种端点,即服务器端与客户端,围绕这两种端

点产生了网络应用程序设计的两种模式是什么?

1.C/S模式

这种模式将网络事务处理分为客户端和服务器端两个部分,客户端用于为用户提供操作

平台,同时为网络提供请求服务的接口:服务器端负责接收和处理客户端发出的服务请求,

并将处理结果返回客户端。因此,这种模式要开发两套程序,一套是客户端,另一套是服务

器端。在进行维护时,也需要维护两套程序,而且客户端的程序更新必须及时。C/S模式的

主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、程序安全性高。

2.B/S模式

这种模式是伴随Internet技术的兴起而发展起来的,是对C/S模式的改进,仅使用HTTP

协议进行通信,主要事务逻辑在服务器端实现,无须安装客户端,Web浏览器即客户端,

因此只需要针对服务器端开发一套程序。这种模式在日后进行程序维护时只需维护服务器端

即可,分布性强,开发简单,维护方便,但此类程序使用公共端口,包括公共协议,所以安

全性很低.对于实现复杂的应用构造也有较大的困难.

三十七、网络编程主要涉及的TCP、UDP和IP协议是什么?

1.TCP协议

TCP(TransniissionControlProtocol,传输控制协议)提供了两台计•算机之间可靠的数据传

送,也就是说,可以保证数据能够确实被送达,而且被送达的数据的排列顺序和被送出时的

顺序相同。因此,TCP协议常被应用于可靠性要求比较高的场合。

2.UDP协议

UDP(UserDatagramPromol,用户数据报协议)是无连接通信协议,以独立发送数据报的

方式向若干个目标发送数据,或接收来自若干个源发送的数据,不保证数据的可靠传输,也

就是说,数据不一定能被送达,被送达的数据的排列顺序和被送出时的顺序也不一定相同。

因此,UDP协议适用于•一些对数据准确性要求不高,但对传输速度和时效性要求非常高的

网站。

3.TCP/IP协议

TCP/IP(TransmissionControlProtocol/InternetProtocol,传瑜控制|办议/互联网|办议)是

Internet最基本的通信协议,在全球范围内实现了不同硬件结构、不同操作系统、不同网络

系统之间的互联。其中的每台主机都用网络为其分配的Inicrncl地址(即IP地址)进行唯一标

识。

三十八、什么是IP地址和端口?

在TCP/IP协议中,IP地址用于唯一地标识一台接收或发送数据的计算机。目前,广泛

使用的IP地址版本是IPv4,用4个字节的一进制数表示.为便于记忆和处理,通常将IP地

址写成卜进制的形式,每个字节用一个上进制数(0〜255)表示,数与数之间用符号分开,

如127.001,该地址表示本机IP地址,通常用于测试本机TCP/IP协议是否正常。

IP地址由两部分组成,即“网络号.主机号”。IP地址的前3个字节为网络号,是网络

的地址编码,用于标识主机所在的网络:IP地址的最后一个字节为主机号,是网络中一台

主机的地址编码,具体表示网络中的一台主机。端口是用两个字节(16位的二进制数)表示的

0〜65535的整数。其中,。〜1023的端口由预先定义的服务通信占用,例如,HTTP服务使

用80端口,FTP服务使用21端口。用户的普通网络应用程序则需要使用1024以上的端口

以避免发生端口冲突。

三十九、ServerSocket类的构造方法有几种形式,通常会抛出10Exception

异常?

1.ServerSockel。。

该构造方法用于创建没有绑定端口的服务器端套接字对象,这种ServerSocket对象创

建的服务器端不监听任何端口,因此不能被直接使用。在后续操作中需要调用bind。方法将

其绑定到指定的端口上,才可以正常使用。

2.ServerSocket(import)o

该构造方法用丁创建绑定到特定端口的服务器端套接字对象。

3.ServerSocket(intj)ort,intbacklog)o

该构造方法用于创建绑定到特定端口的服务器端套接字对象,并指定在服务器忙时可以

与之保持连接请求的等待客户端数量backlogo

(4)ServcrSockei(inlpori,irtbacklog,InctAddressbindAddress)o

该构造方法使用指定的端口、侦听backlog和要绑定到的IP地址创建服务器端套接字

对象,适用于计算机上有多块网上和多个IP地址的情况,用户可以明确规定ServerSocket

对象在哪块网卡或哪个IP地址上等待客户端的连接请求。

四十、Socket类的构造方法有哪几种形式,通常会抛出10Exception异常?

⑴Socket。。

该构造方法用于创建没有连接任何服务器的客户端套接字对象。该构造方法创建的

Socket对象不能被直接使用,在后续操作中需要调用connect。方法指定封装了服务器端IP

地址和端口的SocketAddress对象,才口J以与指定的服务器端建立连接。

(2)Sockct(Stringhost,import)。

该构造方法用于创建连接到运行在指定地址和端口上的服务器端程序的客户端套接字

对象。参数host是服务器端的【P地址,port是一个端口。

(3)Socket(InetAddressaddress,inlporl)。

该构造方法与第⑵种形式的构造方法类似,用于创建连接到运行在指定地址和端口上

的服务器端程序的客户端套接字对象。

项目9多线程技术

四十一、线程的状态为哪些?

1.新建状态

在一个线程对象被声明并创建时,该线程就处于新建状态,此时仅由JVM为其分配内

存空间,并初始化其成员变量的值。

2.就绪状态

线程对象调用start。方法之后,该线程就处于就绪状态,进入线程队列排队,等待调度

运行。

3.运行状态

如果处于就绪状态的线程获得了CPU资源,就开始执行run()方法中的线程执行体,

此时该线程处于运行状态。run。方法规定了线程的具体使命。在线程的run。方法结束之前,

不能再调用该线程的slart()方法,否则会发生IlegalThreadStateException异常。

4.阻塞状态

当处于运行状态的线程失去所占用的资源之后,便进入阻塞状态。

5.消亡状态

线程因异常被强制结束运行或执行完nin()方法后,就会处于消亡状态。此时的线程已

释放分配给它的内存,不再具有继续运行的能力。

四十二、在Java中,线程进入阻塞状态可能哪些原因。?

1.JVM将CPU资源切浜给其他线程。

2.线程执行了sieep(intmillsecond)方法进入休眠。经过指定的时间(millsecond)之后,

该线程将重新进入线程队列等候CPU资源,以便从中断处继续运行。

3.线程执行了wail。方法进入等待状态。在这种情况下,必须由其他线程调用notifyO方

法通知它重新进入线程队列等候CPU资源,以便从中断处继续运行。

4.线程执行某个操作(例如,执行耗时的I/O操作)进入阻塞状态。在这种情况下,只有

当引起阻塞的原因消除时,该线程才会重新进入线程队列等候CPU资源,以便从中断处

继续运行。

四十三、继承Thread类创建多线程的步骤?

1.继承Thread类,并重与run。方法。

Thread类中的run()方法没有具体内容,需要在子类中重写该方法来规定线程要完成的

具体任务。run()方法通常也被称为线程执行体。

2.创建Thread子类的实例,即创建线程对象。

3.调用线程对象的slart()方法启动线程。

线程对象被创建之后,不会自动进入线程队列,JVM也不知道它的存在。此时需要调

用siari()方法启动线程,然后进入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论