JAVA高级考试题Word下载.docx
《JAVA高级考试题Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA高级考试题Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
C)节点流和处理流
D)对象流和数据流
A
6.下面关于字节流说法正确的是:
A)使用字节流仅可以复制二进制文件,不能复制文本文件。
B)使用字节流可以复制文本文件。
C)使用字节流是不能读取文本文件的。
D)字节流就是节点流。
7.下面关于Java主线程的说法错误的是:
A)主方法所在的线程即主线程。
B)在多线程应用中,主线程的主要作用是启动其它线程。
C)主线程与其它线程是平等的。
D)主线程结束,整个应用将结束。
8.下面哪一个不属于多线程相较于多进程的特点?
A)基于线程应用所需的开销较小。
B)线程间的通信和切换成本较低。
C)线程共享进程的地址空间。
D)线程可以并行。
9.通过ObjectInputStream的readObject()方法读取数据,如何判断流结尾?
A)返回-1表示流结尾。
B)返回null表示流结尾。
C)返回2表示流结尾。
D)遇到流结尾将抛出异常。
10.下面有关线性表说法正确的是:
A)线性表是由若干数据元素构成的有限序列。
B)线性表在存储结构是线性顺序存储。
C)栈不是线性表。
D)以上都不正确。
11.下面关于线程状态的说法正确的是:
A)线程被启动后,将处于运行状态,即run()方法正在执行中。
B)线程结束阻塞状态将进入就绪状态。
C)当cpu空闲时,可以直接调用阻塞状态的线程来运行。
D)运行状态的线程就不再可能直接进入就绪状态。
12.下面哪种方式创建的流对象将以添加模式输出信息?
A)newFileInputStream("
d:
\\f2"
)
B)newFileWriter("
\\f2.txt"
);
C)newOutputStream("
\\f2.xls"
true);
D)newFileReader("
C
13.在Java中关于File类的说法正确的是:
A)File表示文件,不能表示文件夹。
B)File表示路径。
C)File表示文件路径和文件内容。
D)通过File不能删除文件。
14.下列关于多线程的说法正确的是哪一个?
A)线程类一定是Thread的子类。
B)在多线程环境下,哪一个线程抢占cpu无法预知。
C)多线程修改同一个数据对象不会有数据安全问题。
D)多线程就是同时在运行多个Java程序。
15.关于流的flush方法,下列说法正确的是:
A)flush方法是字节流特有的方法,其作用是清空流中的数据。
B)flush方法是字符流特有的方法。
C)由于输入流没有缓存,因此也输入流没有flush方法。
D)flush是输出流的方法,其作用是强制将流中的缓存输出。
16.至少包含一个数据元素的线性表的特征不包括以下哪一项?
A)有且仅有一个“第一个”数据元素
B)有且仅有一个“最后一个”数据元素
C)除第一个数据元素外,其它元素有且仅有一个直接前驱
D)除最后一个数据元素外,其它元素至少有一个直接后继
17.关于synchronized关键字的说法正确的是:
A)通过synchronized关键字可以同步代码块,实现多线程对共享资源访问的原子性、互斥性。
B)使用synchronized关键字时,同步锁对象不一定存在。
C)synchronized关键字的使用不可能导致死锁。
D)synchronized关键字可以修饰类。
18.下面关于Java线程描述正确的是:
A)Java的线程一定是Thread类或其子类的对象。
B)通过调用线程的run()方法启动线程。
C)一般情况下,多个线程间的具体执行顺序是可以预知的。
D)通过实现Runnable接口也可以创建线程,这时的线程对象就不是Thread类或其子类的对象。
19.在Java中按是否直接连接数据节点可以将流分为哪几类?
20.下面关于线程优先级说法正确的是:
A)优先级较高的线程执行的几率会更高一些。
B)两个不同优先级的线程,同处于就绪状态,并且CPU资源空闲,这时必然优先级较高的线程会占用CPU。
C)线程一旦创建,优先级不可改变。
D)可以通过getPriority()方法获得线程的优先级,可以通过子类重写该方法。
21.下面关于Socket的说法错误的是:
A)Socket编程基于TCP的,即面向连接的可靠的字节流的传输的编程。
B)Socket即套接字,表示通信一方的IP地址和端口号,TCP通信的双方使用各自的Socket与对方通信。
C)使用Socket编程要充分考虑数据链路传输错误。
D)在基于TCP通信模型中,客户端和服务端都有各自的Socket与对方通信。
22.下面关于Java线程说法不正确的是:
A)Java中的线程是对象。
B)Java的多线程应用可以提高CPU的利用率
C)Java应用中至少会有一个主线程。
D)Java的线程所属的进程并非JVM进程
23.通过流的read()方法读取数据,如何判断流结尾?
C)返回0表示流结尾。
24.下面关于字符流说法正确的是:
A)字符流采用unicode编码,因此使用字符流的读写的文件必须使用unicode编码。
B)字符流可以读写非unicode编码的文件,这时字符流将采用非unicode编码。
C)字符流不能现unicode编码与其它编码之间的转换。
D)通过字符流可以将一种字符编码的文件复制为另一种字符编码的文件。
25.关于同步锁的说法正确的是:
A)多个线程可以使用不同的同步锁对象实现同步代码的访问的互斥性。
B)通过不同对象调用同步实例方法,是可以实现线程间互斥的。
C)通过不同对象调用同步静态方法,是可以实现线程间互斥的。
D)以上都不正确
26.下面关于线程协作的说法错误的是:
A)线程协作可以通过wait-notify机制实现。
B)线程协作是线程互斥为基础的,没有线程互斥也就没有线程协作。
C)wait-notify机制必须与synchronized关键字配合使用。
D)线程协作是一个独立的机制,可以脱离线程互斥机制而独立运作。
27.下面关于Socket编程说法不正确的是:
A)通过Socket可以获得字节输入流,以接收对方Socket发来的信息。
B)通过Socket可以获得字节输出流可以向对象Socket发送信息。
C)通过Socket获得的是字节流,因此不能发送字符信息。
D)通过Socket可以在通信双方主机之间传送Java对象。
28.下面关于InputStream类的说法不正确的是:
A)InputStream是抽象类。
B)InputStream是字节流。
C)InputStream是输入流。
D)InputStream是InputStreamReader的父类。
29.下列哪个方法不属于File的方法?
A)delete()
B)getName()
C)createNewFile()
D)read()
30.在Java中按读写数据的最小单位可以将流分为哪几类?
31.下面关于序列化的说法正确的是:
A)只有可序列化对象才可以被序列化。
B)String不是可序列化对象。
C)只有JDK提供的类才可能是可序列化的,而自定义的类不可能是可序列化的。
D)一个可序列化类的任何属性都可以被序列化。
32.下面关于Java线程的sleep()方法叙述错误的是:
A)sleep()方法是Thread类的静态方法。
B)sleep()方法的作用是使当前线程睡眠一段时间。
C)调用sleep()方法将使当前线程处于阻塞状态。
D)调用sleep()方法不必异常处理。
33.下面有关流的说法不正确的是:
A)System.out是标准输出流对象。
B)System.in时标准输入流对象。
C)System.err是错误输入流对象
D)jsp的内置对象out是一个字符输出流对象。
34.通过BufferedReader的readLine()方法读取数,如何判断流结尾?
C)返回1表示流结尾。
35.关于Java的线程死锁的说法错误的是:
A)死锁是由于在多线程同步控制不当引发的。
B)在多线程开发中对多个同步代码的同步锁按照以一定的顺序依次获取,可以有效避免死锁发生。
C)只要有同步控制,就有可能死锁,因此要想避免死锁就不能对线程同步控制。
D)死锁是多线程开发中必须仔细考虑的问题,不能将死锁和同步控制彻底对立起来,通过合理的同步控制设计是可以有效避免死锁的。
36.如果下面try代码块没有发生异常,则控制台的输出为:
try{
newFile("
D:
/f1.txt"
).createNewFile();
FileInputStreamis=newFileInputStream("
System.out.println("
result:
"
(is.read()>
384));
is.close();
}catch(Exceptione){}(1分)
A)result:
true
B)result:
false
C)result:
false和result:
true两种结果都有可能
D)以上结果都不正确。
二、多项选择题(共20题,20分)
37.下面关于守护线程说法正确的是:
A)线程可以通过setDaemon(boolean)方法设置为守护线程
B)所有的非守护线程结束后,守护线程也将结束。
C)守护线程的与非守护线程在创建方式上不一样的。
D)守护线程的与非守护线程在启动方式上不一样的。
AB
38.下面关于线程的说法正确的是:
A)线程内部仍有可能存在并行的控制流。
B)多线程是指在一个进程或多个进程中的多个并行的指令序列。
C)多线程共享同一进程。
D)多个浏览器同时访问同一个JavaWeb应用,将在JavaWeb服务器上引发多个线程。
CD
39.下面有关JavaWeb应用和线程的说法正确的是:
A)JavaWeb服务器就是一个多线程应用,服务器启动时首先运行主方法,该主方法的作用就是启动多个线程。
B)JavaWeb应用没有主方法,这是因为严格的说JavaWeb应用并不能构成一个完整的程序,而是作为JavaWeb服务器程序的一部分运行。
C)JavaWeb服务器中有专门的线程负责监视JavaWeb应用的发布。
D)JavaWeb服务器启动后即为一个进程,而JavaWeb应用对访问请求的处理是该进程内的一个线程。
ABCD
40.在Java中流的四个跟类是哪几个?
A)InputStream
B)OutputStream
C)Reader和Writer
D)ObjectInputStream
ABC
41.下面那些流是输入流?
A)FileWriter
B)ByteArrayInputStream
C)PipedInputStream
D)DataInputStream
BCD
42.下面那些流是字节流?
A)FileReader
B)FileInputStream
C)DataOutputStream
43.下面那些流是字符流?
A)PrintWriter
B)BufferedReader
C)OutputStreamWriter
D)ObjectOutputStream
44.下面哪些行为属于序列化或反序列化行为:
A)JavaWeb服务器将html输出至浏览器。
B)将字符串打印的控制台。
C)从文件中读取Java对象。
D)变量引用了一个新创建的对象。
45.下面关于线程调度的论述正确的是:
A)由于较多线程和较少的CPU资源,而导致CPU供不应求,因此在多线程应用中应合理进行线程调度。
B)线程调度应确保所有的线程都有机会执行,所有的线程都要适当时候放弃CPU。
C)线程调度并不要求所有线程执行机会均等。
D)线程调度更多的是从微观角度管理多线程的。
46.下面那些流是输出流?
A)StringReader
B)CharArrayWriter
C)BufferedWriter
D)PipedOutputStream
47.JDK提供的XML解析器有哪些?
A)DOM解析器
B)SAX解析器
C)DOM4J
D)JDOM
48.下面那些流是处理流?
B)InputStreamReader
C)FileOutputStream
D)OjbectOuputStream
BD
49.下面关于Java线程的join()方法叙述正确的是:
A)join()方法是Thread类的实例方法。
B)A线程调用B线程的join()方法将使A线程等待B线程执行完毕后A线程才可以继续执行。
C)A线程调用B线程的join()方法将使A线程进入阻塞状态。
D)A线程调用B线程的join()方法,A线程等待B线程执行完毕,而恰好B线程随后又执行了sleep()方法,这种情况下A线程将可以继续执行。
50.下面那些属于多任务的体现?
A)使用迅雷同时下载多个文件。
B)用电脑边听音乐,边打字。
C)打开记事本,连输入了10行文字。
D)打开了两个计算器。
ABD
51.下面关于进程与线程的说法正确的是:
A)进程是运行中程序。
B)将一个程序调用两次,使之同时运行,这种现象属于多进程。
C)线程运行中的程序片段,是进程内部单一的顺序的控制流。
D)线程可以脱离进程而存在,例如单线程应用即如此。
52.下面关于线程同步的说法正确的是:
A)线程同步是指在访问共享资源时多个线程相互间的协调和控制
B)通过线程同步可以实现多线程对共享资源有序可控访问
C)通过线程同步可以保障共享资源数据安全、避免死锁。
D)通过线程同步可以大大提高线程并发性能。
53.下面那些流是节点流?
B)OutputStreamWriter
C)FileInputStream
D)DataOuputStream
AC
54.下面关于XML说法正确的是:
A)XML是标记语言
B)XML标记大小写是敏感的。
C)XML标记必须有结束标记。
D)XML可以用于数据传输格式标准。
55.执行下面哪些行为将可以导致线程进入阻塞状态?
A)调用其它线程的join()方法
B)调用sleep()方法
C)调用wait()方法
D)等待信息输入
56.下面那些是XML文档的组成部分?
A)序言码、处理指
令
B)根元素、元素、属性
C)CDATA和注释
D)包
三、判断题(共20题,20分)
57.新压入栈的元素必然处于栈顶。
对
58.链表是链式存储的线性表,因此链表也是线性表。
59.单向链表属于队列这种数据结构。
60.XML的DOM模型中,元素、属性和文本都是节点。
61.顺序队列是采用线性存储结构的队列。
62.File类表示的路径是一定存在的。
错
63.假溢出现象往往发生在循环队列的操作中。
64.栈是线性表,使用数组实现的栈是线性存储结构。
65.Java的DOM解析器相较于SAX解析器占用内存更少。
66.使用File类可以修改文件或文件夹的名称。
67.线程启动后未必立即执行run方法。
68.在创建Socket的同时会自动向服务器发起连接,因此使用完毕也不必显式关闭,它会自动关闭释放资源。
69.序列化接口不包含任何方法,仅仅起到一个标志性的作用。
70.队列可以使用链表来实现,栈也可以使用链表来实现。
71.弹栈弹出的是栈底元素。
72.优先级队列入队的时间复杂度高于顺序队列。
73.算法的时间复杂度只与数据的逻辑结构有关而与存储结构无关。
74.同步方法完全可以使用同步代码块的方式替换。
75.一个由于调用wait()方法而处于等待中的线程被其它线程唤醒,该等待中的线程将进入运行状态。
76.线程让步之后,如果存在其它就绪线程,则其它就绪线程一定会占用CPU。
四、填空题(共20题,20分)
77.二叉树的遍历算法有三种:
_______________________。
先序(根)遍历中序(根)遍历后序(根)遍历
78.流的四个根类的全限定名称是:
_________________________________(1分)
java.io.InputStream、java.io.OutputStream、java.io.Reader、java.io.Writer
79.数据结构是指数据组织方式和数据元素间相互关系。
主要包含三个方面的内容:
_______________________________.(1