admin 管理员组

文章数量: 887031


2023年12月22日发(作者:updatesqls fail)

一、单项选择题 (共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) 线程可以脱离进程而存在,例如单线程应用即如此。

— 标准答案: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.链表是链式存储的线性表,因此链表也是线性表。

— 标准答案:对

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

— 标准答案:对

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

— 标准答案:对

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

— 标准答案:对

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

— 标准答案:错

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

— 标准答案:错

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

— 标准答案:对

的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 分)

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

78. 流的四个根类的全限定名称是:_________________________________ (1

分)

— 标准答案:tream、Stream、、

79. 数据结构是指数据组织方式和数据元素间相互关系。主要包含三个方面的内容:_______________________________. (1 分)

— 标准答案:数据元素之间的逻辑结构、数据元素之间的存储结构、数据的操作

80. 序列化接口的全限定名名称是:___________________________________. (1

分)

— 标准答案:izable

81. 通过File对象创建文件夹的方法有两个分别是:______________________________________. (1 分)

— 标准答案:mkdir()和mkdirs()

82. 在_______结构中,只要指出表中任何一个结点的位置,就可以从它出发依次访问到表中其他所有结点。 (1 分)

— 标准答案:循环链表

83. 由两个栈共享一个存储空间的好处是:_______________________________。

(1 分)

— 标准答案:节省存储空间,降低上溢发生的机率。

84. 算法一般都可以用三种控制结构:___________________________组合而成。

(1 分)

— 标准答案:顺序、选择、循环

85. 按先进后出原则组织数据的数据结构是:______________________________。

(1 分)

— 标准答案:栈

86. 数据的基本逻辑结构有三种:______________________________________.

(1 分)

— 标准答案:线性结构、树结构和图结构

87. 对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入和删除一个元素时分别平均要移动表中的多少个元素?答:_______________ (1 分)

— 标准答案:插入:n/2;删除:(n-1)/2

88. 假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为_________。 (1 分)

— 标准答案:n*(n-1)/2

89. 按先进先出原则组织数据的数据结构是:______________________________。

(1 分)

— 标准答案:队列

90. 线程的五种状态是:______________________________________. (1 分)

— 标准答案:新建、就绪、运行、阻塞和死亡

91. 算法的四个基本特征是:_______________________________________。 (1

分)

— 标准答案:可行性、确定性、有穷性和拥有足够的情报。

92. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址分布连续性是怎样的?答:___________________________________。 (1 分)

— 标准答案:对地址的连续性没有要求,即连续或不连续都可以。

93. 链表与线性表的关系是:_______________________________. (1 分)

— 标准答案:通过链式存贮结构实现的线性表,被称为链表

94. 数据的存储结构即数据存储的物理结构,包括_______________________________________. (1 分)

— 标准答案:线性存储结构和链式存储结构

95. 树是结点的集合,它的根结点数目是_________。 (1 分)

— 标准答案:1

96. 至少写出三个使线程进入阻塞状态的方法:____________________________________. (1 分)

— 标准答案:sleep()、join()、wait()

public static void main(String args[])

{

n("default charset : "

tCharset());

String str = "abc你好";

byte[] bytes = es(e("UTF-8"));

for (byte b : bytes){

(b " ");

}

n();

try

{

String str1 = new String(bytes, "UTF-8");

String str2 = new String(bytes, "ISO-8859-1");

String str3 = new String(bytes, "GBK");

n(str1);

n(str2);

n(str3);

n();

byte[] bytes2 = es(e("ISO-8859-1"));

for (byte b : bytes2)

{

(b " ");

}

n();

String str22 = new String(bytes2, "UTF-8");

n(str22);

n();

byte[] bytes3 = es(e("GBK"));

for (byte b : bytes3)

{

(b " ");

}

n();

String str33 = new String(bytes3, "UTF-8");

n(str33);

} catch (UnsupportedEncodingException e)

{

tackTrace();

}

}

98. 阐述Java的两种基本的解析XML的方式,及二者的优缺点;阐述在开发中你常用的解析工具是什么?

1、xml有哪些解析技术?区别是什么?

答:有DOM,SAX

DOM的优点:可以随机提取文档的数据 根据需要是数据呈现多种方式 通过解析器在任何机器上解析数据 可以修改文档

缺点:需要文档加载完文件大时,解析速度慢,消耗内存多

SAX的优点:1解析速度快(边解析边执行)2.内存消耗少3:contenthandler对象可以是多个

缺点:必须实现时间处理程序 不能随机访问 不能修改文件

99. 简述多线程启动需要调用什么方法,以及调用该方法的本质。

启动多线程应调用Thread类对象的start(),调用该方法是为了启动run()方法,启动多线程。

101. 简述对象的序列化。

什么是java序列化,如何实现java序列化?

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。

可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。

序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,

implements Serializable只是为了标注该对象是可被序列化的,

然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,

接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

103. 编写程序实现任意文件的拷贝。

public static void fun(){

OutputStreamWriter osw=null;

File file=new File("F:/a");

();

File file01=new File(file,"");

File file02=new File("F:/b");

();

File file03=new File(file02,"");

String str="今天下雨了!";

try {

if(!()){

NewFile();

}

if(!()){

NewFile();

}

osw=new OutputStreamWriter(new

FileOutputStream(file01));

(str, 0, ());

();

InputStreamReader isr=new InputStreamReader(new

FileInputStream("F:/a/"));

osw=new OutputStreamWriter(new

FileOutputStream(file03));

int c=0;

while((c=())>0){

((char)c);

}

();

();

();

} catch (IOException e) {

// TODO Auto-generated catch block

tackTrace();

}s

}

public static void main(String[] args) {

();

}

104. 算法的复杂度主要包括什么及含义? (8 分)

算法的复杂度主要包括时间复杂度和算法复杂度,时间复杂度的含义是执行时间的增长率,空间复杂度的含义是是指算法在计算机内执行时所需存储空间的度量。

106. 实现一个单链表类,要求具有在链表尾加入新元素、在指定索引号位置加入新元素、判断链表空、删除指定索引号位置元素、重写toString四个实例方法

107. 简述多线程的两种创建方式,及适用场合?

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 ,多线程主要用于多任务频繁切换的情况下。

109简述里的分类?

InputSream是所有输入流的基类他是一个抽象类FileInputStream,PipedInputStream,filerInputStream,ByteArrayInupStream,sequenceInputSream,

StringBfferInputStream,ObjectIputStream,都是他的子类。

OutputStream是所有输出流的基类,也是一个抽象类

FileOutputStream,FilerOutputStream,pipedOutputStream,ByteArrayOutputStream,ObjectOutputStream

对象序列化

对象序列化(Serializable)是指将对象转换为字节序列的过程,对象所属的类必须实现Serializable或是Externalizable接口才能被序列化。对实现了Serializable接口的类,其序列化采用默认的序列化方式,Externalizable接口是继承了Serializable接口的接口,是对Serializable的扩展,实现了Externalizable接口的类完全自己控制序列化

简述流的分类

从数据类型分为字节流和字符流

从数据方向分为输入流和输出流

从流的功能分为节点流和过滤流

Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示:InputStream,OutputStream,Reader,Writer

简述多线程的两种创建方式,及适用场合

1、通过实现Runnable接口线程创建

(1).定义一个类实现Runnable接口,重写接口中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。

(2).创建Runnable接口实现类的对象。

(3).创建一个Thread类的对象,需要封装前面Runnable接口实现类的对象。(接口可以实现多继承)

(4).调用Thread对象的start()方法,启动线程

2、通过继承Thread类创建线程

(1).首先定义一个类去继承Thread父类,重写父类中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。

(2).直接创建一个ThreadDemo2类的对象,也可以利用多态性,变量声明为父类的类型。

(3).调用start方法,线程t启动,隐含的调用run()方法。

算法的复杂度主要包括什么及含义

算法的复杂度主要包括时间复杂度和空间复杂度,时间复杂度的含义是执行时间的总和,空间复杂度的含义是是指算法在计算机内执行时所需存储空间的度量。

简述多线程启动需要调用什么方法,以及调用该方法的本质

1实现Runnable接口(常用)

设计一个实现Runable接口的类,根据需要重写run方法;

建立该类的对象,以此对象为参数建立Thread类的对象;

调用Thread类对象start方法启动线程,将执行权转交到run方法。

2继承Thread类

定义一个从Thread类继承的子类并重写其run方法

然后生成该类的对象,调用Thread类对象start方法启动线程

阐述Java的两种基本的解析XML的方式,及二者的优缺点;阐述在开发中你常用的解析工具是什么

这两种基本解析方法为DOM解析和SAX解析,

DOM解析的优点有:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能

DOM解析的缺点有:将整个文档调入内存(包括无用的节点),浪费时间和空间;

DOM解析的使用场合有:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。

SAX解析的有点有:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。

SAX解析的缺点有:不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;

SAX解析的使用场合有:Applet;只需XML文档的少量内容,很少回头访问;机器内存少;

五、简答题 (共13题,104分)

97. 编写程序实现文本文件字符编码转换存储。 (8 分)

— 标准答案:

A

98. 阐述Java的两种基本的解析XML的方式,及二者的优缺点;阐述在开发中你常用的解析工具是什么? (8 分)

— 标准答案:

A

99. 简述多线程启动需要调用什么方法,以及调用该方法的本质。 (8 分)

— 标准答案:

A

100. 简述Socket与流的关系。 (8 分)

— 标准答案:

A

101. 简述对象的序列化。 (8 分)

— 标准答案:

A

102. 开发一个应用程序,该程序的功能是对若干的整型数组计算总和,为了提高计算效率要求使用多线程技术开发。(提示:每一个数组由一个线程求和,最后再将这些和数求总和。) (8 分)

— 标准答案:

A

103. 编写程序实现任意文件的拷贝。 (8 分)

— 标准答案:

A

104. 算法的复杂度主要包括什么及含义? (8 分)

— 标准答案:

A

105. 实现一个栈类,要求具有入栈、出栈、判断栈空、判断栈满四个实例方法。

(8 分)

— 标准答案:

A

106. 实现一个单链表类,要求具有在链表尾加入新元素、在指定索引号位置加入新元素、判断链表空、删除指定索引号位置元素、重写toString四个实例方法。

(8 分)

— 标准答案:

A

107. 简述多线程的两种创建方式,及适用场合。 (8 分)

— 标准答案:

A

108. 实现一个顺序存储的循环队列类,要求具有入队、出队、判断队空、判断队满四个实例方法。 (8 分)

— 标准答案:

A

109. 简述流的分类。 (8 分)

— 标准答案:

A


本文标签: 线程 对象 方法 实现 数据