线程方面错题集合以及答案详解

本文主要探讨了Java中线程控制和异常处理的相关知识点,包括catch语句块的执行顺序、线程停止方法的区别、线程状态转换、异常的分类及处理,以及流的基本概念。通过实例解析了如何正确使用sleep、wait、stop、suspend等线程控制方法,并强调了异常处理的最佳实践。
摘要由CSDN通过智能技术生成
1.(单选题)getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果() public void getCustomerInfo() { try { // do something that may cause an Exception } catch (java.io.FileNotFoundException ex) { System.out.print("FileNotFoundException!"); } catch (java.io.IOException ex) { System.out.print("IOException!"); } catch (java.lang.Exception ex) { System.out.print("Exception!"); } }
  •  A.IOException!
  •  B.IOException!Exception!
  •  C.FileNotFoundException!IOException!
  •  D.FileNotFoundException!IOException!Exception!
正确答案:A
解析:

考察多个catch语句块的执行顺序。当用多个catch语句时,catch语句块在次序上有先后之分。从最前面的catch语句块依次先后进行异常类型匹配,这样如果父异常在子异常类之前,那么首先匹配的将是父异常类,子异常类将不会获得匹配的机会,也即子异常类型所在的catch语句块将是不可到达的语句。所以,一般将父类异常类即Exception老大放在catch语句块的最后一个。

2.单选题)方法 resume()负责恢复哪些线程的执行( )
  •  A.通过调用 stop()方法而停止的线程。
  •  B.通过调用 sleep()方法而停止的线程。
  •  C.通过调用 wait()方法而停止的线程。
  •  D.通过调用 suspend()方法而停止的线程。
正确答案:D
解析:

suspend 可以挂起一个线程,就是把这个线程暂停了,它占着资源,但不运行,用 resume 是恢复挂起 的线程,让这个线程继续执行下去。


3.单选题)Given:

public class ExceptionTest { class TestException extends Exception {} public void runTest () throws TestException {} public void test () /* Point X*/{ runTest (); }}
  •  A.throws Exception
  •  B.Catch (Exception e)
  •  C.Throws RuntimeException.
  •  D.Catch (TestException e).
正确答案:A
解析:
方法上使用 throws 抛出异常,Exception 是异常类的超类


4.(单选题)在主线程中启动新线程后,新线程处于就绪状态,那么新线程对象中的哪个方法被系统执行时,视为已经进入执行新线程的内容( )

  •  A.public void start()
  •  B.public void run()
  •  C.public static void main(Stirng[] args)
  •  D.public void runnable()
正确答案:B
解析:

线程的执行计划是在run方法中的。

5.

(单选题)下列程序的功能是在控制台上,每隔1秒钟显示字符串"Hello",能够填写在程序中下划线位置,使程序完整,并能够正确运行的语句是( )public class Test implements Runnable{ public static void main(String[] args){ Test t=new Test(); Thread tt=new Thread(t); tt.start(); } public void run(){ for(;;){ try{ __________ }catch(_________ e ){} System.out.println(“Hello”); } }}
  •  A.Thread. sleep (1000) InterruptedException
  •  B.sleep (1000) InterruptedException
  •  C.t. sleep (1000) InterruptedException
  •  D.Thread. sleep (1000) RuntimeException
正确答案:A
解析:

睡眠需要笤俑Thread的sleep方法,传入参数为一个long类型毫秒值,本题中要求间隔时间为1秒,所以需要传入1000毫秒作为参数。打断睡眠程序会抛出InterruptedException异常。

6.单选题)关于 sleep()和 wait(),以下描述错误的一项是( )
  •  A.sleep 是线程类(Thread)的方法,wait 是 Object 类的方法
  •  B.sleep 不释放对象锁,wait 放弃对象锁
  •  C.sleep 暂停线程、但监控状态仍然保持,结束后会自动恢复
  •  D.wait 后进入等待锁定池,只有针对此对象发出 notify 方法后获得对象锁进入运行状态

正确答案:D
解析:

sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控 状态依然保持,到时后会自动恢复。调用 sleep 不会释放对象锁。

wait 是 Object 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出 notify 方法(或 notifyAll)后本线程才进入对象锁定池准备获得对 象锁进入运行状态。

7. (单选题)在Java中,"目录"被看作是()
  •  A.文件
  •  B.
  •  C.数据
  •  D.接口
正确答案:A
解析:

目录在Java中作为一种特殊文件,即文件名的列表,通过类File所提供的方法,可得到文件或目录的描述信息(包括名字、路径、长度、可读、可写等),也可以生成新文件、目录、修改文件和目录,查询文件属性,重命名文件或者删除文件。

  • (单选题)下列哪种异常是检查型异常,需要在编写程序时声明( )
    •  A.NullPointerException
    •  B.ClassCastException
    •  C.FileNotFoundException
    •  D.IndexOutOfBoundsException
正确答案:C
解析:
A、B、D 3个异常都属于运行时异常


8
(单选题)下面关于java.lang.Exception类的说法正确的是()
  •  A.继承自Throwable
  •  B.继承自Serialable
  •  C.继承自Error
  •  D.以上说法均不正确
正确答案:A
解析:
Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承 Throwable,RuntimeException和其它的Exception等继承Exception。


9.
(多选题)关于异常(Exception),下列描述正确的是( )
  •  A.异常的基类为 Exception,所有异常都必须直接或者间接继承它
  •  B.异常可以用 try{ . . .}catch(Exception e){ . . .}来捕获并进行处理
  •  C.如果某异常继承 RuntimeException,则该异常可以不被声明
  •  D.异常可以随便处理,而不是抛给外层的程序进行处理
正确答案:ABC
解析:
异常可以在自己方法内部处理,当自己无法解决时,需要抛出给调用者来处理。


10.
(单选题)计算机中的流是()
  •  A.流动的字节
  •  B.流动的对象
  •  C.流动的文件
  •  D.流动的数据缓冲区
正确答案:D
解析:

流,最早从C语言中引入的。其可以看成是一个流动的数据缓冲区。数据从数据源方向经过缓冲区流向数据的目的地。在传送的过程中,其传送方式是串行的。在Java中的java.io包中定义了Java中常见流的接口与类。其中包括两个最基本的流的抽象类,它们分别是OutputStream与InputStream。其余的流都分别从这两个基本类中继承而来。.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值