计算机二级中选择题是非常重要的,所以开始写一个每日一题的专栏。
答案及解析将在末尾公布!
今日主题:线程与 Applet
1、下列关于 Java 线程模型的说法中,正确的是
(A) Java 线程模型由代码、虚拟的 CPU、代码所操作的数据构成
(B) Java 线程模型由代码和虚拟的 CPU 构成
© Java 中没有定义线程模型
(D) Java 线程模型由代码和代码所操作的数据构成
2、阅读下列程序:
import java.util.*;
class ThreadTest4 extends Thread {
public void ______() {
int i;
for(i=0; i<10; i++) {
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Current time=" + new Date());
}
}
public static void main(String args[]) {
ThreadTest4 t = new ThreadTest4();
______;
}
}
若要使程序运行时创建一个子线程,该子线程每隔 1 秒打印当前日期与时间,则在下划线处应填入的代码是
(A) run
, start
(B) start
, start
© run
, run
(D) start
, run
3、下列关于 Applet 的描述中,正确的是
(A) update()
是 Applet 生命周期方法之一
(B) Applet 不能使用javac
命令进行编译
© Applet 不能通过java
命令运行
(D) Applet 不支持外部参数
4、运行一个 Applet 程序时,下列只能被浏览器调用一次的方法是
(A) init()
(B) start()
© stop()
(D) paint()
5、线程在调用下列方法后,其状态可能保持不变的是
(A) sleep()
(B) join()
© stop()
(D) yield()
6、为了使下列程序正常运行并且输出字符串abc
,在下划线处应填入的是
public class Test implements Runnable {
public static void main(String[] args) {
Thread t = new ______;
t.start();
}
public void run() {
System.out.println("abc");
}
}
(A) Runnable()
(B) Thread(this)
© Thread(new Test())
(D) Test()
7、在一个线程的生命周期中,不能多次被调用的方法是
(A) yield()
(B) start()
© wait()
(D) sleep()
8、下列程序定义了一个 Applet,在下划线处应填入的是
import java.awt.*;
import java.applet.*;
public class SayHi extends ______ {
public void paint(Graphics g) {
g.drawString("Hi!", 40, 40);
}
}
(A) JApplet
(B) Applet
© JPanel
(D) applet
9、下列选项中,反映 Java 并行程序设计特点的是
(A) 安全性
(B) 多线程
© 可移植
(D) 简单性
10、在浏览器中执行一个 Applet 程序,下列方法中只能被调用一次的是
(A) start()
(B) init()
© paint()
(D) stop()
1、答案:A
解析:Java 线程模型包含三部分:代码、虚拟 CPU(执行代码)、代码操作的数据。
2、答案:A
解析:线程执行体在run()
方法中定义,通过start()
启动线程(而非直接调用run()
)。
3、答案:C
解析:
- A 错误:Applet 生命周期方法为
init()
、start()
、stop()
、destroy()
;- B 错误:Applet 可通过
javac
编译为.class
文件;- C 正确:Applet 需在浏览器或
appletviewer
中运行,不能直接用java
命令;- D 错误:Applet 可通过
<PARAM>
标签接收外部参数。4、答案:A
解析:init()
在 Applet 加载时仅调用一次,start()
、stop()
可多次调用,paint()
在重绘时多次调用。
5、答案:D
解析:yield()
让当前线程让出 CPU,但可能立即重新获得 CPU,状态保持为可运行;其他方法会使线程进入阻塞或终止状态。
6、答案:C
解析:Thread
构造函数需传入Runnable
对象,new Thread(new Test())
正确(Test
实现Runnable
)。
7、答案:B
解析:start()
用于启动线程,一个线程只能被启动一次,多次调用会抛出IllegalThreadStateException
。
8、答案:B
解析:该程序使用 AWT 的Applet
类,若用 Swing 则继承JApplet
,此处导入java.applet.Applet
,故继承Applet
。
9、答案:B
解析:多线程是 Java 支持并行程序设计的核心特性。
10、答案:B
解析:init()
在 Applet 生命周期中仅初始化一次,其他方法可多次调用
完整版 PDF(含二级更多题目题库)
点击下载
以上就是本期内容,如有错误请指正!