当前位置:文档之家› JAVA高级考试题

JAVA高级考试题

JAVA高级考试题
JAVA高级考试题

一、单项选择题(共36题,36分)

1. 已知一个引用类型变量myvar指向了一个流对象,在程序中出现了如下语句:myvar.flush(); myvar.close(); 则myvar所指向的对象一定是:(1 分)

A) 输入流

B) 输出流

C) 字符流

D) 字节流

—标准答案:B

2. 下面关于ServerSocket的描述错误的是:(1 分)

A) ServerSocket表示服务器端的倾听Socket,等待客户机发起TCP连接。

B) ServerSocket仅用于监听客户端的发起的连接请求,一旦受到客户端请求即返回一个Socket与客户端通信。ServerSocket并不负责与客户单通信。

C) ServerSocket通过accept()方法监听等待客户端的请求,未收到客户端的连接请求之前当前线程处于阻塞状态。

D) 一个ServerSocket只能在一个端口监听,因此一个ServerSocket只能接收到一个客户端请求。

—标准答案:D

3. 关于字符流的说法正确的是:(1 分)

A) 字符流是双字节流,因此使用字节流读取两次与与字符流读取一次的效果完全一致。

B) 字符流会涉及字符编码的转换。

C) 通过字符流可以复制word文档。

D) 通过字符流将文本写入文件,则文件中的编码一定是双字节编码。

—标准答案:B

4. 下面有关Java线程的说法正确的是:(1 分)

A) wait()方法是Thread类特有的方法。

B) 任何对象都有wait()方法。

C) 任何情况下都可以调用任何对象的wait()方法,使当前线程等待。

D) 只有锁对象有notify()方法,其它对象没有该方法。

—标准答案:B

5. 在Java中按输入和输出方向可以将流分为哪几类?(1 分)

A) 输入流和输出流

B) 字节流和字符流

C) 节点流和处理流

D) 对象流和数据流

—标准答案:A

6. 下面关于字节流说法正确的是:(1 分)

A) 使用字节流仅可以复制二进制文件,不能复制文本文件。

B) 使用字节流可以复制文本文件。

C) 使用字节流是不能读取文本文件的。

D) 字节流就是节点流。

—标准答案:B

7. 下面关于Java主线程的说法错误的是:(1 分)

A) 主方法所在的线程即主线程。

B) 在多线程应用中,主线程的主要作用是启动其它线程。

C) 主线程与其它线程是平等的。

D) 主线程结束,整个应用将结束。

—标准答案:D

8. 下面哪一个不属于多线程相较于多进程的特点?(1 分)

A) 基于线程应用所需的开销较小。

B) 线程间的通信和切换成本较低。

C) 线程共享进程的地址空间。

D) 线程可以并行。

—标准答案:D

9. 通过ObjectInputStream的readObject()方法读取数据,如何判断流结尾?(1 分)

A) 返回-1表示流结尾。

B) 返回null表示流结尾。

C) 返回2表示流结尾。

D) 遇到流结尾将抛出异常。

—标准答案:D

10. 下面有关线性表说法正确的是:(1 分)

A) 线性表是由若干数据元素构成的有限序列。

B) 线性表在存储结构是线性顺序存储。

C) 栈不是线性表。

D) 以上都不正确。

—标准答案:A

11. 下面关于线程状态的说法正确的是:(1 分)

A) 线程被启动后,将处于运行状态,即run()方法正在执行中。

B) 线程结束阻塞状态将进入就绪状态。

C) 当cpu空闲时,可以直接调用阻塞状态的线程来运行。

D) 运行状态的线程就不再可能直接进入就绪状态。

—标准答案:B

12. 下面哪种方式创建的流对象将以添加模式输出信息?(1 分)

A) new FileInputStream("d:\\f2")

B) new FileWriter("d:\\f2.txt");

C) new OutputStream("d:\\f2.xls",true);

D) new FileReader("d:\\f2.txt");

—标准答案:C

13. 在Java中关于File类的说法正确的是:(1 分)

A) File表示文件,不能表示文件夹。

B) File表示路径。

C) File表示文件路径和文件内容。

D) 通过File不能删除文件。

—标准答案:B

14. 下列关于多线程的说法正确的是哪一个?(1 分)

A) 线程类一定是Thread的子类。

B) 在多线程环境下,哪一个线程抢占cpu无法预知。

C) 多线程修改同一个数据对象不会有数据安全问题。

D) 多线程就是同时在运行多个Java程序。

—标准答案:A

15. 关于流的flush方法,下列说法正确的是:(1 分)

A) flush方法是字节流特有的方法,其作用是清空流中的数据。

B) flush方法是字符流特有的方法。

C) 由于输入流没有缓存,因此也输入流没有flush方法。

D) flush是输出流的方法,其作用是强制将流中的缓存输出。

—标准答案:D

16. 至少包含一个数据元素的线性表的特征不包括以下哪一项?(1 分)

A) 有且仅有一个“第一个”数据元素

B) 有且仅有一个“最后一个”数据元素

C) 除第一个数据元素外,其它元素有且仅有一个直接前驱

D) 除最后一个数据元素外,其它元素至少有一个直接后继

—标准答案:D

17. 关于synchronized关键字的说法正确的是:(1 分)

A) 通过synchronized关键字可以同步代码块,实现多线程对共享资源访问的原子性、互斥性。

B) 使用synchronized关键字时,同步锁对象不一定存在。

C) synchronized关键字的使用不可能导致死锁。

D) synchronized关键字可以修饰类。

—标准答案:A

18. 下面关于Java线程描述正确的是:(1 分)

A) Java的线程一定是Thread类或其子类的对象。

B) 通过调用线程的run()方法启动线程。

C) 一般情况下,多个线程间的具体执行顺序是可以预知的。

D) 通过实现Runnable接口也可以创建线程,这时的线程对象就不是Thread类或其子类的对象。

—标准答案:A

19. 在Java中按是否直接连接数据节点可以将流分为哪几类?(1 分)

A) 输入流和输出流

B) 字节流和字符流

C) 节点流和处理流

D) 对象流和数据流

—标准答案:C

20. 下面关于线程优先级说法正确的是:(1 分)

A) 优先级较高的线程执行的几率会更高一些。

B) 两个不同优先级的线程,同处于就绪状态,并且CPU资源空闲,这时必然优先级较高的线程会占用CPU。

C) 线程一旦创建,优先级不可改变。

D) 可以通过getPriority()方法获得线程的优先级,可以通过子类重写该方法。

—标准答案:A

21. 下面关于Socket的说法错误的是:(1 分)

A) Socket编程基于TCP的,即面向连接的可靠的字节流的传输的编程。

B) Socket即套接字,表示通信一方的IP地址和端口号,TCP通信的双方使用各自的Socket与对方通信。

C) 使用Socket编程要充分考虑数据链路传输错误。

D) 在基于TCP通信模型中,客户端和服务端都有各自的Socket与对方通信。

—标准答案:C

22. 下面关于Java线程说法不正确的是:(1 分)

A) Java中的线程是对象。

B) Java的多线程应用可以提高CPU的利用率

C) Java应用中至少会有一个主线程。

D) Java的线程所属的进程并非JVM进程

—标准答案:D

23. 通过流的read()方法读取数据,如何判断流结尾?(1 分)

A) 返回-1表示流结尾。

B) 返回null表示流结尾。

C) 返回0表示流结尾。

D) 遇到流结尾将抛出异常。

—标准答案:A

24. 下面关于字符流说法正确的是:(1 分)

A) 字符流采用unicode编码,因此使用字符流的读写的文件必须使用unicode编码。

B) 字符流可以读写非unicode编码的文件,这时字符流将采用非unicode编码。

C) 字符流不能现unicode编码与其它编码之间的转换。

D) 通过字符流可以将一种字符编码的文件复制为另一种字符编码的文件。

—标准答案:D

25. 关于同步锁的说法正确的是:(1 分)

A) 多个线程可以使用不同的同步锁对象实现同步代码的访问的互斥性。

B) 通过不同对象调用同步实例方法,是可以实现线程间互斥的。

C) 通过不同对象调用同步静态方法,是可以实现线程间互斥的。

D) 以上都不正确

—标准答案:C

26. 下面关于线程协作的说法错误的是:(1 分)

A) 线程协作可以通过wait-notify机制实现。

B) 线程协作是线程互斥为基础的,没有线程互斥也就没有线程协作。

C) wait-notify机制必须与synchronized关键字配合使用。

D) 线程协作是一个独立的机制,可以脱离线程互斥机制而独立运作。

—标准答案:D

27. 下面关于Socket编程说法不正确的是:(1 分)

A) 通过Socket可以获得字节输入流,以接收对方Socket发来的信息。

B) 通过Socket可以获得字节输出流可以向对象Socket发送信息。

C) 通过Socket获得的是字节流,因此不能发送字符信息。

D) 通过Socket可以在通信双方主机之间传送Java对象。

—标准答案:C

28. 下面关于InputStream类的说法不正确的是:(1 分)

A) InputStream是抽象类。

B) InputStream是字节流。

C) InputStream是输入流。

D) InputStream是InputStreamReader的父类。

—标准答案:D

29. 下列哪个方法不属于File的方法?(1 分)

A) delete()

B) getName()

C) createNewFile()

D) read()

—标准答案:D

30. 在Java中按读写数据的最小单位可以将流分为哪几类?(1 分)

A) 输入流和输出流

B) 字节流和字符流

C) 节点流和处理流

D) 对象流和数据流

—标准答案:B

31. 下面关于序列化的说法正确的是:(1 分)

A) 只有可序列化对象才可以被序列化。

B) String不是可序列化对象。

C) 只有JDK提供的类才可能是可序列化的,而自定义的类不可能是可序列化的。

D) 一个可序列化类的任何属性都可以被序列化。

—标准答案:A

32. 下面关于Java线程的sleep()方法叙述错误的是:(1 分)

A) sleep()方法是Thread类的静态方法。

B) sleep()方法的作用是使当前线程睡眠一段时间。

C) 调用sleep()方法将使当前线程处于阻塞状态。

D) 调用sleep()方法不必异常处理。

—标准答案:D

33. 下面有关流的说法不正确的是:(1 分)

A) System.out是标准输出流对象。

B) System.in时标准输入流对象。

C) System.err是错误输入流对象

D) jsp的内置对象out是一个字符输出流对象。

—标准答案:C

34. 通过BufferedReader的readLine()方法读取数,如何判断流结尾?(1 分)

A) 返回-1表示流结尾。

B) 返回null表示流结尾。

C) 返回1表示流结尾。

D) 遇到流结尾将抛出异常。

—标准答案:B

35. 关于Java的线程死锁的说法错误的是:(1 分)

A) 死锁是由于在多线程同步控制不当引发的。

B) 在多线程开发中对多个同步代码的同步锁按照以一定的顺序依次获取,可以有效避免死锁发生。

C) 只要有同步控制,就有可能死锁,因此要想避免死锁就不能对线程同步控制。

D) 死锁是多线程开发中必须仔细考虑的问题,不能将死锁和同步控制彻底对立起来,通过合理的同步控制设计是可以有效避免死锁的。

—标准答案:C

36. 如果下面try代码块没有发生异常,则控制台的输出为:

try {

new File("D:/f1.txt").createNewFile();

FileInputStream is = new FileInputStream("D:/f1.txt");

System.out.println("result:" (is.read()>384));

is.close();

} catch (Exception e) {} (1 分)

A) result:true

B) result:false

C) result:false和result:true两种结果都有可能

D) 以上结果都不正确。

—标准答案:B

二、多项选择题(共20题,20分)

37. 下面关于守护线程说法正确的是:(1 分)

A) 线程可以通过setDaemon(boolean)方法设置为守护线程

B) 所有的非守护线程结束后,守护线程也将结束。

C) 守护线程的与非守护线程在创建方式上不一样的。

D) 守护线程的与非守护线程在启动方式上不一样的。

—标准答案:AB

38. 下面关于线程的说法正确的是:(1 分)

A) 线程内部仍有可能存在并行的控制流。

B) 多线程是指在一个进程或多个进程中的多个并行的指令序列。

C) 多线程共享同一进程。

D) 多个浏览器同时访问同一个JavaWeb应用,将在JavaWeb服务器上引发多个线程。

—标准答案:CD

39. 下面有关JavaWeb应用和线程的说法正确的是:(1 分)

A) JavaWeb服务器就是一个多线程应用,服务器启动时首先运行主方法,该主方法的作用就是启动多个线程。

B) JavaWeb应用没有主方法,这是因为严格的说JavaWeb应用并不能构成一个完整的程序,而是作为JavaWeb服务器程序的一部分运行。

C) JavaWeb服务器中有专门的线程负责监视JavaWeb应用的发布。

D) JavaWeb服务器启动后即为一个进程,而JavaWeb应用对访问请求的处理是该进程内的一个线程。

—标准答案:ABCD

40. 在Java中流的四个跟类是哪几个?(1 分)

A) InputStream

B) OutputStream

C) Reader和Writer

D) ObjectInputStream

—标准答案:ABC

41. 下面那些流是输入流?(1 分)

A) FileWriter

B) ByteArrayInputStream

C) PipedInputStream

D) DataInputStream

—标准答案:BCD

42. 下面那些流是字节流?(1 分)

A) FileReader

B) FileInputStream

C) DataOutputStream

D) ObjectInputStream

—标准答案:BCD

43. 下面那些流是字符流?(1 分)

A) PrintWriter

B) BufferedReader

C) OutputStreamWriter

D) ObjectOutputStream

—标准答案:ABC

44. 下面哪些行为属于序列化或反序列化行为:(1 分)

A) JavaWeb服务器将html输出至浏览器。

B) 将字符串打印的控制台。

C) 从文件中读取Java对象。

D) 变量引用了一个新创建的对象。

—标准答案:ABC

45. 下面关于线程调度的论述正确的是:(1 分)

A) 由于较多线程和较少的CPU资源,而导致CPU供不应求,因此在多线程应用中应合理进行线程调度。

B) 线程调度应确保所有的线程都有机会执行,所有的线程都要适当时候放弃CPU。

C) 线程调度并不要求所有线程执行机会均等。

D) 线程调度更多的是从微观角度管理多线程的。

—标准答案:ABC

46. 下面那些流是输出流?(1 分)

A) StringReader

B) CharArrayWriter

C) BufferedWriter

D) PipedOutputStream

—标准答案:BCD

47. JDK提供的XML解析器有哪些?(1 分)

A) DOM解析器

B) SAX解析器

C) DOM4J

D) JDOM

—标准答案:AB

48. 下面那些流是处理流?(1 分)

A) FileWriter

B) InputStreamReader

C) FileOutputStream

D) OjbectOuputStream

—标准答案:BD

49. 下面关于Java线程的join()方法叙述正确的是:(1 分)

A) join()方法是Thread类的实例方法。

B) A线程调用B线程的join()方法将使A线程等待B线程执行完毕后A线程才可以继续执行。

C) A线程调用B线程的join()方法将使A线程进入阻塞状态。

D) A线程调用B线程的join()方法,A线程等待B线程执行完毕,而恰好B线程随后又执行了sleep()方法,这种情况下A线程将可以继续执行。

—标准答案:ABC

50. 下面那些属于多任务的体现?(1 分)

A) 使用迅雷同时下载多个文件。

B) 用电脑边听音乐,边打字。

C) 打开记事本,连输入了10行文字。

D) 打开了两个计算器。

—标准答案:ABD

51. 下面关于进程与线程的说法正确的是:(1 分)

A) 进程是运行中程序。

B) 将一个程序调用两次,使之同时运行,这种现象属于多进程。

C) 线程运行中的程序片段,是进程内部单一的顺序的控制流。

D) 线程可以脱离进程而存在,例如单线程应用即如此。

—标准答案:ABC

52. 下面关于线程同步的说法正确的是:(1 分)

A) 线程同步是指在访问共享资源时多个线程相互间的协调和控制

B) 通过线程同步可以实现多线程对共享资源有序可控访问

C) 通过线程同步可以保障共享资源数据安全、避免死锁。

D) 通过线程同步可以大大提高线程并发性能。

—标准答案:ABC

53. 下面那些流是节点流?(1 分)

A) FileReader

B) OutputStreamWriter

C) FileInputStream

D) DataOuputStream

—标准答案:AC

54. 下面关于XML说法正确的是:(1 分)

A) XML是标记语言

B) XML标记大小写是敏感的。

C) XML标记必须有结束标记。

D) XML可以用于数据传输格式标准。

—标准答案:ABCD

55. 执行下面哪些行为将可以导致线程进入阻塞状态? (1 分)

A) 调用其它线程的join()方法

B) 调用sleep()方法

C) 调用wait()方法

D) 等待信息输入

—标准答案:ABCD

56. 下面那些是XML文档的组成部分?(1 分)

A) 序言码、处理指

B) 根元素、元素、属性

C) CDATA和注释

D) 包

—标准答案:ABC

三、判断题(共20题,20分)

57.新压入栈的元素必然处于栈顶。(1 分)

—标准答案:对

58.链表是链式存储的线性表,因此链表也是线性表。(1 分)—标准答案:对

59.单向链表属于队列这种数据结构。(1 分)

—标准答案:对

60.XML的DOM模型中,元素、属性和文本都是节点。(1 分)

—标准答案:对

61.顺序队列是采用线性存储结构的队列。(1 分)

—标准答案:对

62.File类表示的路径是一定存在的。(1 分)

—标准答案:错

63.假溢出现象往往发生在循环队列的操作中。(1 分)

—标准答案:错

64.栈是线性表,使用数组实现的栈是线性存储结构。(1 分)

—标准答案:对

65.Java的DOM解析器相较于SAX解析器占用内存更少。(1 分)

—标准答案:错

66.使用File类可以修改文件或文件夹的名称。(1 分)

—标准答案:对

67.线程启动后未必立即执行run方法。(1 分)

—标准答案:对

68.在创建Socket的同时会自动向服务器发起连接,因此使用完毕也不必显式关闭,它会自动关闭释放资源。(1 分)

—标准答案:错

69.序列化接口不包含任何方法,仅仅起到一个标志性的作用。(1 分)

—标准答案:对

70.队列可以使用链表来实现,栈也可以使用链表来实现。(1 分)

—标准答案:对

71.弹栈弹出的是栈底元素。(1 分)

—标准答案:错

72.优先级队列入队的时间复杂度高于顺序队列。(1 分)

—标准答案:对

73.算法的时间复杂度只与数据的逻辑结构有关而与存储结构无关。(1 分)

—标准答案:错

74.同步方法完全可以使用同步代码块的方式替换。(1 分)

—标准答案:对

75.一个由于调用wait()方法而处于等待中的线程被其它线程唤醒,该等待中的线程将进入运行状态。(1 分)

—标准答案:错

76.线程让步之后,如果存在其它就绪线程,则其它就绪线程一定会占用CPU。(1 分)

—标准答案:错

四、填空题(共20题,20分)

77. 二叉树的遍历算法有三种:_______________________。(1 分)

—标准答案:先序(根)遍历中序(根)遍历后序(根)遍历

相关主题
文本预览
相关文档 最新文档