admin 管理员组

文章数量: 887031


2023年12月21日发(作者:greatview)

2020计算机二级《JAVA》考点训练题及答案

2017计算机二级《JAVA》考点训练题及答案

1.下列不是InputStream子类的是 。

A.文件输入流FilelnputStream

B.对象输入流ObjectlnputStream

C.字符输入流CharInputStream

D.压缩文件输入流ZiplnputStream

2.下列方法中可以用来创建一个新线程的是 。

A.实现le接口并重写start方法

B.实现le接口并重写run方法

C.继承类并重写run方法

D.实现类并实现start方法

3.下列关于JavaApplication与Applet的说法中,正确的是 A.都包含main方法

B.都通过“appletviewer”命令执行

C.都通过“javac”命令编译

D.都嵌入在HTML文件中执行

4.当启动Applet程序时,首先调用的方法是 。

y

5.下列关于线程优先级的说法中,正确的是 。

A.线程的优先级是不能改变的

B.线程的优先级是在创建线程时设置的

C.在创建线程后的任何时候都可以设置

D.B和C

6.下列代码中,将引起编译错误的行是 。

1public class Exercise

2public static void mainString args[]

3floatf=0.0;

4f+=1.0:

5

6

A.第2行

B.第3行

C.第4行

D.第6行

7.为了向一个Applet传递参数,可以在HTML文件的APPLET标志中使用param选项。在Applet程序中获取参数时,应使用的方法是 。

ameter

umentBase

eBase

ge

8.线程在生命周期中要经历5种状态。如果线程当前是新建状态,则它可到达的下一个状态是 。

A.运行状态

B.阻塞状态

C.可运行状态

D.终止状态

9.下列关于Java多线程并发控制机制的叙述中,错误的是 。

中对共享数据操作的并发控制是采用加锁技术

B.线程之间的交互,提倡采用suspend/resume方法

C.共享数据的访问权限都必须定义为private

中没有提供检测与避免死锁的专门机制,但程序员可以采用某些策略防止死锁的发生

10.下列操作中,不属于Applet安全限制的是 。

A.加载本地库

B.读写本地文件系统

C.运行本地可执行程序

D.与同一个页面中的Applet通信

参考答案及解析:

1.C。解析:本题考查考生对Java中InputStream非字符输入流的掌握。所有的字节输入流都是从InputStream继承的,包括:

ByteArraylnputStre8m,以字节数组作为输入流FilelnputStream,可对一个磁盘文件设计的数据进行处理;PipedInputStream,实现线程之间通信的一个类;FilterInputStream,过滤器输入流;SequenceInputStream,将多个输入流首尾相接;ObjectlnputStream,实现ObjeetInPut接15/。选项D中压缩文件输入流ZiplnputStream是InflaterInputStream的子类,而InflaterInputStream是FilterInputStream的子类,只有选项C中字符输入流CharInputStream类是字符流。本题涉及内容较多,要求对整个输入输出流有所了解。

2.C。解析:本题考查考生对创建线程的使用。创建线程有两种方法:通过实现Runnable接口创建线程和通过继承Thread类创建线程。通过实现Runnable接口创建线程,当实现Runnable接口的类的对象用来创建线程以后,该线程的启动将使得对象的run方法被调用。通过继承Thread类创建线程,可以通过继承Thread类,并重写其中的run方法定义线程体,然后创建该子类的对象创建线程。线程创建是考试重点内容,请务必掌握。

3.C。解析:本题考查JavaApplication与Applet的区别。Applet与Application的主要区别在执行方式上,Applieation以main方法为入口点运行,Applet要在浏览器或appletviewer中运行,运行过程比Application更复杂。两者都是通过”javac”命令编译,所以只有选项C说法正确.

4.B。解析:本题考查Applet程序的运行方式。在Applet运行时,首先由浏览器调用init方法,所以选项B正确。初始化完成后,将调用start

方法使Applet成为激活状态。当Applet被覆盖时.可用stop方法停止线程。关闭浏览器时调用destroy,彻底终止Applet,从内存中卸载并释放该Applet的所有资源。Applet的生命周期及其运行方式是考试重点,应该牢记。

5.C。解析:本题考查线程优先级的概念。首先应该了解Java的线程是有优先级的,并且可以控制其优先级,可以排除选项A;选项B和选项C本身就矛盾,故选项D是错器的,B和C不能同时选择。线程的优先级在创建线程时可以设置,也可以通过getPriority方法来获得线程的优先级,通过setPriority方法来设定线程的优先级。线程的优先级属于考试重点内容,应该重点掌握。

6.B。解析:本题考查Java中的数据类型,应该掌握Java中的简单数据类型,以及相关运算。floatf=0.0这个语句,想要定义一个浮点型变量f,并且初值为0.0,但由于Java认为如果数字后没有任何字母,则默认为double类型,而double是不能转换为float的,所以该语句错误,如果改 为floatf=0.0f,即可正确运行。

7.A。解析:本题考查考生对Applet获取参数的掌握。Applet被下载时,在Applet的init方法中使用getParameter方法获取参数,所以选项A正确。而且要注意getParameter方法只能在init方法中。getParameter方法的入口参数所取参数的名字,必须与标记中的name指示的名字相同,这一点务必注意,返回值是参数的值。

8.C。解析:本题考查线程的生命周期。线程一旦创建,就开始了它的生命周期。线程的声明周期主要分为:新建状态new,线程创建后处于

该状态;可运行状态Runnable,新建的线程调用start方法,将使线程的`状态从New转换为Runnable,所以选项C正确;运行状态Running,运行状态使线程占有CPU并实际运行的状态;阻塞状态Blocked,导致该状态的原因很多,注意区别;终止状态Dead,线程执行结束的状态,没有任何方法可改变它的状态。

9.B。解析:本题考查多线程的并发控制机制。Java中对共享数据操作的并发控制采用传统的加锁技术,也就是给对象加锁,选项A说法正确。线程之间的交互,提倡采用wait和notify方法,这两个方法是类的方法,是实现线程通信的两个方法,不提倡使用suspend和resume方法,它们容易造成死锁,所以选项B说法错误。共享数据的访问权限都必须定义为private,不能为public或其他,选项C说法正确。Java中没有提供检测与避免死锁的专门机制,因此完全由程序进行控制,但程序员可以采用某些策略防止死锁的发生,选项D说法正确。

10.D。解析:本题考查Applet的安全限制。为了保护本地主机,很多浏览器对Applet作了安全限制:Applet不能运行任何本地可运行程序;禁止加载本地库或方法;禁止读、写本地计算机的文件系统;禁止与提供Applet之外的任何主机建立网络连接;不能读取某些系统信息。但Applet是可以与同一个页面中的Applet进行通信的,所以选项D不属于Applet安全限制。


本文标签: 线程 方法 创建 状态 运行