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、
所有远程方法必须声明抛出RemoteException
D、
所有构造方法必须声明抛出RemoteException
E、
必须提供public类型的不带参数的构造方法

答案:ACD

40、 以下哪些说法正确?
A、
远程对象只有被注册到rmiregistry注册表,才能被远程访问。
B、
远程对象不能位于客户端,只能位于服务器端。
C、
当远程对象作为参数或返回值在网络上传送时,实际上传送的是远程对象的存根。
D、
服务器端也可以访问客户端的远程对象。
E、
远程对象允许被多个客户并发访问。

答案:CDE

41、对于以下程序代码:
ResultSet rs1= stmt.executeQuery(“SELECT NAME from CUSTOMERS where ID=1”); //line1
ResultSet rs2= stmt.executeQuery(“SELECT NAME from CUSTOMERS where ID=2”); //line2
if(rs1.next())System.out.println(rs1.getString(1)); //line3
if(rs2.next())System.out.println(rs2.getString(1)); //line4
下面哪些说法正确?
A、
编译出错
B、
运行时在第3行抛出异常
C、
编译通过,并且正常运行
D、
运行时在第4行抛出出错

答案:C

42、哪几类JDBC驱动程序完全用Java语言编写?
A、
第1类
B、
第2类
C、
第3类
D、
第4类

答案:CD

43、 以下哪些对象由Connection对象创建?
A、
Statement对象
B、
PreparedStatement对象
C、
CallableStatement对象
D、
ResultSet对象
E、
RowSet对象

答案:ABC

44、以下哪些方法属于Statement接口的方法?
A、
execute()
B、
executeQuery()
C、
executeDelete()
D、
open()
E、
close()

答案:ABE

45、以下哪些说法正确?
A、
一个Statement对象可以执行多条SQL语句。
B、
一个Connection对象可以创建一个或一个以上的Statement对象。
C、
一个Statement对象关闭后,还能继续访问由它创建的ResultSet对象。
D、
一个Statement对象可以先后打开多个结果集。

答案:ABD

46、以下程序代码定义了一个ResultSet对象:
ResultSet rs= stmt.executeQuery(“SELECT NAME,AGE from CUSTOMERS where ID=1”);
假定以上SQL语句最多只返回一条记录,下面哪些代码能打印结果集
中的AGE字段?
A、
if(rs.next())System.out.println(rs.getInt(2));
B、
if(rs.next())System.out.println(rs.getInt(1));
C、
System.out.println(rs.getInt(1));
D、
if(rs.next())System.out.println(rs.getInt(“AGE”));

答案:AD

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为云企业级Java编程规范题库是一个专门为开发人员准备的题库,旨在帮助他们更好地理解和遵守企业级Java编程规范。该题库涵盖了许多与Java编程规范相关的常见知识点和技巧。 首先,题库会涉及到Java编码规范的命名规范,包括类名、方法名、变量名等的命名要求。它要求开发人员在命名时使用有意义的名称,避免使用缩写或无意义的命名,以提高代码的可读性。 其次,题库还包含了Java代码的注释规范。它会要求开发人员在代码添加适当的注释,以解释代码的功能和用途,提高代码的可维护性和可读性。 此外,题库还会考察代码格式规范的要求,例如使用缩进、空格和换行等方面的规范。它强调代码的可视化和统一性,确保团队合作时的代码风格一致。 另外,题库还会考察异常处理的规范。它要求开发人员在代码适当处理异常,避免出现不必要的异常漏洞,提高代码的健壮性和安全性。 最后,题库还会涉及到代码的可测试性和可扩展性规范。它鼓励开发人员编写可测试的代码,以便更好地进行单元测试和集成测试。此外,它还要求开发人员编写可扩展的代码,以便在后续需求变更时更方便地进行代码修改和扩展。 综上所述,华为云企业级Java编程规范题库是一个全面考察开发人员对于企业级Java编程规范的掌握程度的题库。它通过不同的题目形式,帮助开发人员加深对于Java编程规范的理解,并提高他们在实际开发的代码质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值