1.试题1java语言提供处理流类型的包是[3分] A. java.sql B. java.util C. java.math D. java.io 考生答案:D
2.试题2题目代码的功能为:
在d:创建一个文件“test.txt”,并向文件输入“HelloWorld”,然后删除文件。
public static void main(String[] args) { File file = new File(\ try {
<填入代码>
}catch (Exception e) { e.printStackTrace();} } [3分]
A. BufferedWriter bw = new BufferedWriter(new FileWriter(file)); bw.write(\ if (file.exists()) {file.delete(); }
B. BufferedWriter bw = new BufferedWriter(new FileWriter(file));bw.write(\ if (file.exists()) { file.deleteFile(); }
C. BufferedWriter bw = new BufferedWriter(file); bw.write(\ if (file.exists()) { file.delete(); }
D. BufferedWriter bw = new BufferedWriter(file); bw.write(\
bw.close();if (file.exists()) { file.deleteFile(); }
考生答案:A
3.试题3下列代码实现的功能是:
FileOutputStream fos = new FileOutputStream(\
PrintStream ps = new PrintStream(fos); System.setOut(ps);
System.out.println(\
tputStream(\
PrintStream ps = new PrintStream(fos); System.setOut(ps);
System.out.println(\分]
A. A. 向控制台打印“writer”,可以实现追加打印
B. A. 向控制台打印“writer”,但是不可以实现追加打印
C. A. 向文件system.txt写“writer”,但是不可以实现追加写。 D. A. 向文件system.txt写“writer”,可以实现追加写。 考生答案:D
4.试题4阅读下面程序段:
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(\ bos.write(100);
假设file.dat不存在,运行该程序段后,文件file.dat的字节数为( )。[3分] A. 0 B. 1 C. 2 D. 3
考生答案:A
5.试题5运行下面程序段:(2008为闰年,2月有29天) Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, 2008); c.set(Calendar.MONTH, 1); c.set(Calendar.DATE, 32);
SimpleDateFormat sdf = new SimpleDateFormat(\ System.out.println(sdf.format(c.getTime())); 控制台输出的结果是( )。[3分] A. A. 2008/1/01 B. A. 2008/3/03 C. A. 2008/2/01 D. A. 2008/2/01 考生答案:B
6.试题6下列代码所构建的流,能读取file.txt中文本的是:[3分] A. InputStream ins= new FileInputStream(\ Reader inr=new Reader(ins);
B. InputStream ins= new FileInputStream(\ Reader inr=new FileReader(ins);
C.
InputStream ins= new FileInputStream(\w FileReader(ins); D.
InputStream ins= new FileInputStream(\putStreamReader(ins); 考生答案:D
7.试题7题目代码实现的功能是:按行读取文件的内容,写向控制台。[3分] A. FileReader fr=new FileReader(\
BufferedReader br=new BufferedReader(fr);String str= \ while (true) {
str = br.readLine(); if (str == null) { break; }
System.out.println(str); }
B. FileReader fr=new FileReader(\ while (true) {
str = fr.readLine(); if (str == null) { break; }
System.out.println(str);} C.
FileReader fr=new FileReader(\feredReader(fr); String str = \
while ((str =br.readLine())!=null) { System.out.println(str); }
D. FileReader fr=new FileReader(\ String str = \
while ((str =fr.readLine())!=null) { System.out.println(str); }
考生答案:AC
8.试题8可以对对象加互斥锁的关键字是[3分] A. transient B. synchronized C. serialize D. static
考生答案:B
9.试题9下列方法中用于定义线程的执行体的是[3分] A. start() B. init() C. run()
D. synchronized() 考生答案:C
10.试题10下面能让线程阻塞的是[3分] A. sleep(); B. notify();
C. synchronized块; D. wait(); 考生答案:A
参考答案:ACD
11.试题11请看下列代码:
class ThreadDemo implements Runnable{ int age=0;public synchronized void run(){ for(int i=0;i<100;i++){
System.out.println(\ } }
}下列构造线程对象的方式中,两个线程共用一个age数据的是:A. ThreadDemo r1=new ThreadDemo(); ThreadDemo r2=new ThreadDemo(); B. Thread t1=new Thread(); Thread t2=new Thread();
C. ThreadDemo r1=new ThreadDemo(); Thread t1=new Thread(r1); Thread t2=new Thread(r1);
D. ThreadDemo r1=new ThreadDemo(); ThreadDemo r2=new ThreadDemo(); Thread t1=new Thread(r1); Thread t2=new Thread(r2); 考生答案:C
12.试题12下列代码说法正确的是:
public class DaemonThread extends Thread{ public DaemonThread(String name){super(name); }public void run() {while (true) {
System.out.println(\ }
分] [3 }public static void main(String[] args) {
DaemonThread dt = new DaemonThread(\ dt.setDaemon(true);dt.start(); }
}[3分]
A. dtThread线程是守护线程。
B. 运行上述代码,main 线程一退出,则虚拟机退出
C. 运行上述代码,程序会一直跑下去,因为main线程结束了,但dt线程是一个无限循环,还没有结束,虚拟机不能退出, D. main线程是守护线程。 考生答案:B 参考答案:AB
13.下列代码中对象锁的使用效率最高的是[3分] A.
A.public class Foo{private Object o1,o2;public synchronized void methodA(){
对o1进行操作}
public synchronized void methodB(){ 对o1进行操作}
public synchronized void methodC(){ 对o2进行操作}
public synchronized void methodD(){ 对o2进行操作} }
B. public class Foo{
private Object lock = new Object(); private Object o1,o2; public void methodA(){
synchronized(lock){对o1进行操作} }public void methodB(){
synchronized(lock){对o1进行操作} }public void methodC(){
synchronized(lock){对o2进行操作} }public void methodD(){
synchronized(lock){对o2进行操作} } }
C. public class Foo{
private Object lock = new Object(),lock2 = new Object(); private Object o1,o2; public void methodA(){ synchronized(lock){ 对o1进行操作