8 下列关于Java多线程并发控制机制的叙述中,错误的是___B___。
A、Java中对共享数据操作的并发控制是采用加锁技术
B、线程之间的交互,提倡采用suspend()/resume()方法
C、共享数据的访问权限都必须定义为private
D、Java中没有提供检测与避免死锁的专门机制,但应用程序员可以采用某些策略防止死锁的发生
解析:
1)Java中对共享数据操作的并发控制是采用传统的封锁技术。一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。在Java语言中,临界区可以是一个语句块或是一个方法,并且用"synchronized"关键字标识。Java平台将每个由synchronized(Object)语句指定的对象设置一个锁,称为对象锁。
2)共享数据的所有访问都必须作为临界区,使用"synchronized"进行加锁控制。用"synchronized"保护的数据也必须是私有的,使线程不能直接访问这些数据,必须通过对象的方法。
3)Java中没有检测与避免死锁的专门机制,因此完全由程序进行控制,防止死锁的发生。
4)有时,某个线程进入"synchronized"块后,共享数据的状态并不一定满足线程的需要,它要等待其他线程将共享数据改变为它需要的状态后才能继续执行,但由于此时它占有了该对象的锁,其他线程无法对共享数据进行操作,为此Java引入wait()和notify(),这两个方法使java.lang.object类的方法,使实现线程通信的两个方法。
9 下列操作中,不属于Applet安全限制的是___D___。
A、加载本 B、读写本地文件系统 C、运行本地可执行程序 D、与同一个页面中的Applet通信
10 在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中,驱动模块相当于被测试模块的主程序,它接收测试数据,并传给被测试模块,输出实际测试结果。承接模块通常用于代替被测试模块调用的其他模块,其作用仅做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。
11 Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的__跨平台____特点。
解析:Java语言是一种跨平台,适合于分布式计算环境的面向对象的编程语言。具体来说,它具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。
12 在运行时,由Java解释器自动导入,而不用import语句引入的包是__java.lang____。
解析:因为包java.lang所包含的类和接口对所有实际的Java程序都是必要的,所以,它被自动导入所有的程序且它是Java最广泛使用的包。
13 下列程序的功能是创建了一个显示5个"Hello!"的线程并启动运行,请将程序补充完整。
public class ThreadTest extends Thread{
public static void main(String args[]){
ThreadTest t=new __ThreadTest()____;
t.start();}
public void run(){int i=0;
while(true){System.out.println("Hello!");
if (i++==4) break;
}
}
解析:ThreadTest继承java.lang.Thread类,重写了run()方法,实现了Java中的线程。ThreadTest t定义了空的线程对象,下面t.start()启动了这个线程,因此ThreadTest t=new ______;就应该是实例化该线程对象,所以空格中应填ThreadTest()。
Swing的顶层容器有:JApplet、JWindow、JDialog和__JFrame____。
顶层容器:JFrame、JApplet、JDialog和JWindow共4个。
中间容器:JPanel、JScrollPane、JSplitPane、JToolBar。
特殊容器:JInternalFrame、JLayeredPane、JRootPane。
基本控件:JButton、JComboBox、JList、JMenu、JSlider、JTextField。
不可编辑信息的构件:JLabel、JProgressBar、ToolTip、
可编辑信息的构件:JColorChooser、JFileChooser、JFileChooser、JTable、JTextArea
所有的这些构件的分类都是按功能来划分的。