单项选择题(2011年3月二级考试)

下列方法被调用后,一定使调用线程改变当前状态的是【】。

A、notify()

B、yield()

C、sleep()

D、isAlive()

答案解析

C

【解析】

由于notify()只是唤醒一个线程,但我们由不能确定具体唤醒的是哪一个线程,也许我们需要唤醒的线程不能够被唤醒,所以线程不一定改变状态;

线程调用了yield()方法,意思是放弃当前获得的CPU时间片,回到可运行状态,这时与其他进程处于同等竞争状态,OS有可能会接着又让这个进程进入运行状态,所以线程状态不一定改变;

isAlive()是判断线程当前状态是否处于Alive状态,不改变线程状态;

调用的sleep()之后,线程则一定进入阻塞状态。

关键词

线程;调用;运行;java;程序;设计;确定;具体;判断;

类变量必须带有的修饰符是【 】。

下列不属于Swing的构件是 【 】。

Swing与AWT相比新增的布局管理器是【 】。

Java中的抽象类Reader和Writer所处理的流是【 】。

在Java中,“目录”被看作是【 】

下列程序的运行结果是 【 】public class test{     private String[] data={“10”,“10.5”};     public void fun(){         double s=0;         for(int i=0;i<3;i++){             try{                 s=s+Integer.parseInt(data[i]);             }catch(Exception e){                 System.out.print(“errorl:”+data[i]);             }         }     }     public static void main(String[] args){         try{             testd=new test();             d.fun();         }catch(Exception e){             System.out.printIn(“error2”);         }     } }

下列代码的执行结果是 【 】public class Test {     public static void main(String[] args){         int[] x={0,1,2,3};         for(int i=0;i<3;i+=2){             try{                 System.out.println(x[i+2]/x[i]+x[i+1]);             }catch(ArithmeticException e){                 System.out.println("error1");             }catch(Exception e){                 System.out.println("error2");             }         }     } }

在oneMethod()方法运行正常的情况下,程序段将输出什么? public void test(){   try{    oneMethod();    System.out.println("condition 1");   }catch(ArrayIndexOutOfBoundsException e){    System.out.println("condition 2");   }catch(Exception e){    System.out.println("condition 3");   }finally{    System.out.println("finally");   } }

下列常见的系统定义的异常中,哪个是输入/输出异常【 】

下列叙述中,错误的是【 】