导航菜单
首页 >  网络编程期末考试试题  > java网络编程 测试题

java网络编程 测试题

java网络编程 测试题

马上要关闭查看了,为方便考试复习,复制到博客中。 字体有点儿小,然而我不会调字体┭┮﹏┭┮

1、 如果有以下程序片段: BufferedReader input = new BufferedReader (new _________ );空白部分可填写_________以通过编译。 (5.0分) A、 FileInputStream(“Account.data”) B、 FileReader (“Main. java”) C、 InputStreamReader (new FileReader (“Main.java”)) D、 objectReader (“Account .data”)

答案:B

2、调用Thread类的start()方法后,线程会处于( )状态。 A、 Running B、 Runnable C、 Wait Blocked D、 I/O Blocked

答案:B

3、Java中可以通过实现下面__________类/接口来自定义线程类。 A、 Object B、 Runnable C、 Run D、 Start

答案:B

4、下列关于Java线程的说法那个是正确的? A、 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。 B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。 C、 Thread类属于java.util程序包。 D、 以上说法无一正确。

答案:D

5、下面关于Java线程接口描述不正确的是_____? A、 Callable的 call() 方法可以返回值和抛出异常 B、 Callable可以返回装载有计算结果的Future对象 C、 Runnable的run()方法可以返回值和抛出异常 D、 Java线程池中submit()方法可以返回持有计算结果的Future对象

答案:C

6、Socket类的哪个方法返回Socket对象绑定的本地端口? A、 getPort() B、 getLocalPort() C、 getRemotePort() D、 不存在这样的方法,因为Socket对象绑定的本地端口对程序是透明的。

答案:B

7、以下两段程序代码是否等价?(单选) //第一段程序 socket.shutdownInput(); socket.shutdownOutput(); //第二段程序 socket.close(); A、 等价 B、 不等价

答案:B

8、当客户端执行以下程序代码时: Socket socket=new Socket(“angel”,80); 如果远程服务器angel不存在,会出现什么情况? A、 构造方法抛出UnknownHostException异常。 B、 客户端一直等待连接,直到连接超时,从而抛出SocketTimeoutException。 C、 抛出BindException。 D、 构造方法返回一个Socket对象,但它不与任何服务器连接。

答案:A

9、以下哪个Socket选项来用设置Socket接收数据的等待超时时间 A、 SO_RESUSEADDR B、 SO_TIMEOUT C、 SO_LINGER D、 SO_SNFBUF

答案:B

10、如果想让Socket对象关闭时,底层Socket未完成发送的数据继续发送,需要设置Socket的哪个选项 A、 SO_RESUSEADDR B、 SO_TIMEOUT C、 SO_LINGER D、 SO_SNFBUF

答案:C

11、 Socket对象的SO_REUSEADDR和TCP_NODELAY选项的默认取值为: A、 true, true B、 false, false C、 true, false D、 false, true

答案:B

12、 在网络游戏编程中,为了提高用户之间交互的实时性,应该将Socket对象的以下哪个选项设为true A、 SO_LINGER B、 SO_REUSEADDR C、 TCP_NODELAY D、 SO_BROADCAST

答案:C

13、客户程序希望底层网络的IP层提供高可靠性和最小延迟传输服务,客户程序中应该如何提出这一请求? A、 调用Socket的setPerformancePreferences()方法 B、 设置Socket的SO_SERVICE选项 C、 调用Socket的setTrafficClass()方法 D、 客户程序无法提出这种请求,必须直接配置底层网络

答案:C

14、当客户端执行以下程序代码时: Socket socket=new Socket(“angel”,80); 如果远程服务器angel不存在,会出现什么情况? A、 构造方法抛出UnknownHostException异常。 B、 客户端一直等待连接,直到连接超时,从而抛出SocketTimeoutException。 C、 抛出BindException。 D、 构造方法返回一个Socket对象,但它不与任何服务器连接。

答案:A

15、【多选题】 对于以下程序代码: Socket socket=new Socket(); //第1行 SocketAddress remoteAddr1=new InetSocketAddress(“localhost”,8000); //第2行 SocketAddress remoteAddr2=new InetSocketAddress(“localhost”,8001); //第3行 socket.connect(remoteAddr1, 60000); //第4行 socket.connect(remoteAddr2, 60000); //第5行 下面哪些说法是正确的?(多选) A、 以上程序代码可以顺利编译和运行通过。 B、 第1行程序代码创建了一个与本地匿名端口绑定的Socket对象。 C、 第1行程序代码创建的Socket对象没有与任何服务器建立连接,并且没有绑定任何本地端口。 D、 第5行程序代码会运行出错,因为一个Socket对象只允许建立一次连接。 E、 第4行程序代码使Socket对象与一个服务器建立连接,并且绑定一个本地匿名端口。

答案:CDE

16、如何判断一个ServerSocket已经与特定端口绑定,并且还没有被关闭? (5.0分) A、 boolean isOpen=serverSocket.isBound(); B、 boolean isOpen=serverSocket.isBound() && !serverSocket.isClosed(); C、 boolean isOpen=serverSocket.isBound() && serverSocket.isConnected(); D、 boolean isOpen=!serverSocket.isClosed();

答案:B

17、ServerSocket类中用于监听客户端连接请求的方法是:_____。 (5.0分) A、 bind() B、 accept() C、 ServerSocket() D、 getInputStream()

答案:B

18、 对于以下程序代码: ServerSocket serverSocket=new ServerSocket(8000); serverSocket.setReuseAddress(true); 哪个说法是正确的? A、 以上代码运行时出错 B、 以上代码编译时出错 C、 以上代码尽管编译和运行不会出错,但对SO_REUSEADDR选项的设置无效 D、 以上说法都不正确

答案:C

19、 ServerSocket与Socket都有一个SO_TIMEOUT选项,它们的作用是否相同? A、 相同 B、 不同

答案:B

20、关于ServerSocket构造方法的backlog参数,以下哪些说法是正确的? A、 backlog参数用来显式设置操作系统中的连接请求队列的长度。 B、 如果没有设置backlog参数,那么连接请求队列的长度由操作系统决定。 C、 当服务器端的连接请求队列已满,客户端就无法建立与服务器的连接。 D、 如果backlog参数的值大于操作系统限定的队列的最大长度,那么backlog参数被忽略。 E、 连接请求队列直接由ServerSocket创建并管理。 F、 ServerSocket的accept()方法从连接请求队列中取出连接请求。

答案:ABCDF

21、默认情况下,SocketChannel对象处于什么模式? A、 阻塞模式 B、 非阻塞模式

答案:A

22、在服务器程序中,线程在哪些情况可能会进入阻塞状态? A、 线程执行Socket的getInputStream()方法获得输入流。 B、 线程执行Socket的getOutputStream()方法获得输出流。 C、 线程执行ServerSocket的accept()方法。 D、 线程从Socket的输入流读入数据。 E、 线程向Socket的输出流写一批数据

答案:CDE

23、对于以下代码: int n=socketChannel.read(byteBuffer); //假定n>=0 byteBuffer.flip(); 假定执行socketChannel.read(byteBuffer)方法前,byteBuffer的 容量、极限和位置分别为c、l和p,执行完以上代码后,byteBuffer 的容量、极限和位置分别是多少? A、 容量为c,极限为l,位置为p+n B、 容量为c,极限为p+n,位置为0 C、 容量为l,极限为p+n,位置为0 D、 容量为c,极限为p+n,位置为p+n

答案:B

24、在哪些情况,SelectionKey对象会失效? A、 程序调用SelectionKey的cancel()方法。 B、 程序调用SelectionKey的close()方法。 C、 关闭与SelectionKey关联的Channel。 D、 与SelectionKey关联的Selector被关闭。

答案:ACD

25、线程执行Selector对象的select(long timeout)方法时进入阻塞状态,在哪些情况,线程会从select()方法中返回? A、 至少有一个SelectionKey的相关事件已经发生。 B、 其他线程调用了Selector对象的wakeup()方法。 C、 与Selector对象关联的一个SocketChannel对象被关闭。 D、 当前执行select()方法的线程被其他线程中断。 E、 超出了等待时间。

答案:ABDE

26、以下说法正确的是:______。 A、 使用同一个Socket对象可以接收来自不同源地址数据 B、 使用同一个DatagramSocket对象可以向不同的目的地址发送数据 C、 使用同一个Socket对象可以向不同的目的地址发送数据 D、 使用同一个DatagramSocket对象不可以接收来自不同源地址的数据

答案:B

27、当DatagramSocket接收到了来自任意一个主机的数据报,如何知道该数据报的发送者的UDP端口? A、 调用DatagramPacket的getPort()方法 B、 调用DatagramSocket的getPort()方法 C、 调用DatagramPacket的getRemotePort()方法 D、 调用DatagramSocket的getRemotePort()方法

答案:A

28、以下是DatagramPacket的构造方法,哪些用于发送数据报? A、 public DatagramPacket(byte[] data,int length) B、 public DatagramPacket(byte[] data,int offset, int length) C、 public DatagramPacket(byte[] data,int offset, int length,InetAddress address,int port) D、 public DatagramPacket(byte[] data,int offset,int length,SocketAddress address)

答案:CD

29、关于DatagramSocket的connect()和disconnect()方法,下面哪些说法是正确? A、 connect()方法使得DatagramSocket暂时只能与特定的远程DatagramSocket通信。 B、 DatagramSocket的connect()方法与Socket的connect()方法的作用相同。 C、 可以对一个DatagramSocket对象多次调用connect()方法。 D、 调用了DatagramSocket的disconnect()方法后,这个DatagramSocket就失效了,不能再收发数据报。

答案:AC

30、以下哪个类没有实现java.io.Serializable接口 A、 java.io.OutputStream类 B、 java.lang.String类 C、 java.lang.Integer类 D、 java.util.Date类

答案:A

31、以下哪一段代码向C:\data.obj文件中写入一个Date对象? A、 ObjectOutputStream out=new ObjectOutputStream(new fileOutputStream(“C:\data.obj”)); out.writeDate(new Date()); B、 ObjectOutputStream out=new ObjectOutputStream(new fileOutputStream(“C:\data.obj”)); out.writeObject(new Date()); C、 FileOutputStream out=new FileOutputStream(“C:\data.obj”); out.writeObject(new Date()); D、 FileOutputStream out=new FileOutputStream(new ObjectOutputStream"C:\data.obj")); out.writeObject(new Date());

答案:B

32、可序列化类中的writeObject()方法和readObject()方法使用什么访问控制修饰符? A、 public B、 没有 C、 protected D、 private

答案:A

33、默认的序列化方式有什么特点? A、 仅仅对对象的非transient的实例变量进行序列化 B、 不会序列化对象的transient的实例变量 C、 会序列化静态变量 D、 会序列化对象的所有public类型的成员变量

答案:AB

34、默认的反序列化方式有什么特点? A、 可能会调用类的静态代码块。 B、 一定会调用类的静态代码块。 C、 不会调用类的任何构造方法。 D、 会调用类的不带参数的构造方法。

答案:AC

35、对于一个类的两个不同版本,如果它们的序列化版本号serialVersionUID相同,就一定序列化兼容,这句话是否正确? A、 正确 B、 不正确

答案:B

36、关于Externalizable接口,下面哪些说法正确? A、 Externalizable接口继承自Serializable接口。 B、 writeExternal()方法负责序列化操作。 C、 readExternal()方法负责反序列化操作。 D、 在对实现了Externalizable接口的类的对象进行反序列化时,一定会先调用类的不带参数的构造方法。 E、 在对实现了Externalizable接口的类的对象进行反序列化时,一定会先调用类的静态代码块。 F、 一个类如果实现了Externalizable接口,那么它必须具有public类型的不带参数的构造方法。

答案:ABCDF

37、在RMI框架中,rmiregistry注册表负责什么任务? A、 创建远程对象。 B、 为远程对象提供命名服务。 C、 及时销毁无用的远程对象。 D、 调用远程对象的方法。

答案:B

38、 以下哪些说法正确? A、 远程对象必须实现java.io.Serializable接口 B、 远程方法的参数以及返回值必须是基本类型,或者是实现了java.io.Serializable接口的Java类型。 C、 RMI框架要求客户端与服务器端都是Java程序。 D、 rmiregistry注册表默认情况下注册1099端口。

答案:CD

39、远程类必须符合哪些规范? A、 必须实现Remote接口 B、 必须继承UnicastRemoteObject类 C、 所有远程方法必须

相关推荐: