JAVA高级考试题

JAVA高级考试题


2024年4月21日发(作者:)

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

1. 已知一个引用类型变量myvar指向了一个流对象,在程序中出现了如下语句:

(); (); 则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:");

C) new OutputStream("d:",true);

D) new FileReader("d:");

— 标准答案: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. 至少包含一个数据元素的线性表的特征不包括以下哪一项?

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

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

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

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

— 标准答案:D

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

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中按读写数据的最小单位可以将流分为哪几类?

A) 输入流和输出流

1 分)

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) 是标准输出流对象。

B) 时标准输入流对象。

C) 是错误输入流对象

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:/").createNewFile();

FileInputStream is = new FileInputStream("D:/");

n("result:" (()>384));

();

} 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解析器有哪些?

A) DOM解析器

B) SAX解析器

C) DOM4J

D) JDOM

— 标准答案:AB

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

A) FileWriter

B) InputStreamReader

1 分)

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) 线程可以脱离进程而存在,例如单线程应用即如此。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713640136a2289225.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信