java网络编程练习题_第1页
java网络编程练习题_第2页
java网络编程练习题_第3页
java网络编程练习题_第4页
java网络编程练习题_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一个客户进程执行以下代码Socketsocketl=newSocket(host,port);Socketsocket2=newSocket(host,port);以下哪些说法正确?(多选)选项:socketl与socket2占用不同的本地端口。Socket构造方法中的port参数指定占用的本地端口。c)当Socket构造方法成功返回,就表明建立了与服务器的一个TCP连接。d)执行第二行程序代码会抛出异常,因为一个客户进程只能与服务器端建立一个TCP连接。.有一种协议规定:如果客户端发送一行字符串“date”,服务器端就返回当前口期信息,如果客户端发送一行字符串“exit”,服务器端就结束与客户端的通信。这种协议应该属于哪一层的协议?(单选)选项:a)网络层互联层b)应用层c)传输层网络d)主机-网络层.一个服务器进程执行以下代码:ServerSocketserverSocket=newServerSocket(80);Socketsocket=serverSocket.accept));intport=socket.getPort();以下哪些说法正确?(多选)选项:a)服务器进程占用80端口。b)socket.getPort()方法返回服务器进程占用的本地端口,此处返回值是80。c)当serversocket.accept。方法成功返回,就表明服务器进程接收到了一个客户连接请求。d)socket.getPort()方法返回客户端套节字占用的本地端口.下列哪个类不对直接创建对象?()A.InputstreamB.FilelnputStreamC.BufferedlnputStreamD.DatalnputStream.以下哪个方法只对使用了缓冲的流类起作用?()A.read()B.write()Cskip()D.flush().用read()方法读取文件内容时,判断文件结束的标记为()A.OB.1C-lD.无标记.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法()A.getlnetAddress()B.getLocalPort()C.getOutputStream()D.getlnputStream().Java中的10流按读写单位分为字节流和字符流,分别由四个抽象类来表示:Inputstream、Outputstream、Reader、Writer,通过重载方法read()和write() 定义了用于读写操作的方法。.将字节流转换成字符流时,类InputStreamReader 负责将Inputstream转化成Reader,而类OutputStreamWriter将Outputstream转化成Writer。.在程序读入字符文件时,能够以该文件作为直接参数的类是:A)FileReader B)BufferedReaderC)FilelnputStream D)Objectinputstream.能够向文件输入逻辑型数据的类是:A.FileOutputStream B.OutputstreamC.FileWriter D.DataOutputStream.下面关于FilelnputStream类型说法正确的是:A.创建FHelnputStream对象是为了读取文件B.创建FilelnputStream对象时,如果硬盘上对应的文件不存在,则抛出一个异常C.利用FilelnputStream对象可以创建文件D.FilelnputStream对象读取文件时,只能读取文本文件。.创建FileOutputStream对象时,如果对应的文件在硬盘上不存在,则会();如果对应的文件在硬盘上己经存在,则会()A,自动创建、覆盖 B.抛出异常、抛出异常C.自动创建、覆盖或追加信息 D.抛出异常、覆盖或追加信息.如果使用FileOutputStream(Stringpath,booleanappend)这个构造方法创建FileOutputStream对象时,下面描述正确的是:A.当append为true时,追加信息;B.当append为true时,覆盖原文件信息;C.当append为false时,追加信息:D.如果使用FileOutputStream(Stringpath)方法创建对象时,默认追加信息1.线程生命周期中正确的状态是()A.新建状态、运行状态和终止状态B.新建状态、运行状态、阻塞状态和终止状态C.新建状态、可运行状态、运行状态、阻塞状态和终止状态D.新建状态、可■运行状态、运行状态、恢复状态和终止状态.Thread类中能运行线程体的方法是()A.start() B.resumef)C.init()D.run().Thread.sleep()方法调用后,当等待时间已到,该线程所处状态为()A.阻塞状态B.运行状态 C就绪状态D.新建状态.当线程因异常而退出run()后,其所处状态为()A.阻塞状态 B.运行状态 C.就绪状态D.结束状态.以下()不属于线程的状态。A.就绪状态 B.运行状态 C.阻塞状态D.独占状态.在多个线程访问同一个资源时,可以使用()关键字来实现线程同步,保证对资源安全访问。A.SynchronizedB.TransientC.StaticD.Yield.以下选项中可以填写到横线处,让代码正确编译和运行的是()。publicclassTestimplementsRunnable{publicvoidrun(){System.out.println(uthisisrun()M);)publicstaticvoidmain(Stringargs[]){t.start();))A.Threadt=newThread(newTest());.Testt=newTest();C.Threadt=newTest();D.Threadt=newThread();.以下代码中的3表示什么意思?ExecutorServiceexecutorService=Executors.newFixedThreadPool(3);意味着线程池每次只能同时执行3个线程,相应处理3个任务;.向线程池提交任务有哪两个方法?有什么区别?③提交无返回值的任务(execute);②提交有返回值的任务(submitQ).请说说关闭线程池的两个方法的区别:shutDown(),shutDownNow()oshutdownO:不会立即终止线程池,而是要等所有任芬缓存队列中的任务都执行完后才终止,但再也不会接受新的任务shutdownNowO:立即终止线程池,并宏试打断正在执行的任务,并且清空任务缓存队列,返回尚未执行的任务1.选择题(单选)(共50小题,每小题1分,共50分)ip协议处于网络体系结构的哪一层A.网际层B.传输层C.应用层D.主机网络层Java网络程序位于TCP/IP参考模型的哪一层?A.网络层互联层B,应用层C.传输层D.主机-网络层3)假定一个进程己经占用UDP的8000端口,它还能否占用TCP的8000端口?A.可以B.不可以一个客户进程执行以下代码Socketsocketl=newSocket(host,port);Socketsocket2=newSocket(host,port);以下哪些说法不正确?socketl与socket2占用不同的本地端II。Socket构造方法中的port参数指定的是远程端口。C.当Socket构造方法成功返回,就表明建立了与服务器的一个TCP连接。D.执行第二行程序代码会抛出异常,因为一个客户进程只能与服务器端建立一个TCP连接。HTTP协议规定,默认情况下,HTTP服务器占用的TCP端口号是什么?218023D.任意一个未被占用的端口号6)能够向文件输入逻辑型数据的类是:FileOutputStreamOutputstreamFileWriterDataOutputStream7)从哪里可以找到描述TCP/IP协议的具体文档?JDK的JavaDoc文档NIC的官方网站RFC的官方网站D.国际标准化组织(ISO)的官方网站8)一个服务器进程执行以下代码:ServerSocketserverSocket=newServerSocket(80);Socketsocket=serverSocket.accept();intport=socket.getPort();以下哪些说法不正确?A.服务器进程占用80端口。B.socket.getPort。方法返回服务器进程占用的本地端口,此处返回值是80。C.当serverSocket.accept()方法成功返回,就表明服务器进程接收到了一个客户连接请求。D.socket.getPort。方法返回客户端套节字占用的本地端II9)有一种协议规定:如果客户端发送一行字符串“date”,服务器端就返回当前口期信息,如果客户端发送一行字符串“exit”,服务器端就结束与客户端的通信。这种协议应该属于哪一层的协议?A.网络层互联层B.应用层C.传输层网络D.主机-网络层10)凡是从中央处理器或者是内存流向外部设备的数据流称为()A.文件流B.字符流C.输出流D.输入流11)下列哪个类不能直接创建对象?()ReaderFileReaderBufferedReaderDatalnputStreamReader、Writer、Inputstream.Outputstream都不能直接创建对■象因为都是抽象类12)能够以字符串为单位写入文件数据的流类是()FileOutputStreamFileWriterBufferedWriterOutputstream13)下列属于文件输入输出类的是()FilelnputStream和FileOutputStreamBufferinputstream和BufferOutputStreamPipedlnputStream和PipedOutputStreamD,以上都是14)字符输出流类都是()抽象类的子类FilterWriterFileWriteWriterOutputStreamWrite15)下列哪个类提供readline()方法()InputstreamBufferedReaderFilelnputStreamDatalnputStream16)java中,Inputstream类所在的包是()java.awtjava.langjava.utiljava.io17)下面关于FilelnputStream类型说法不正确的是()A.创建FilelnputStream对象是为了读取硬盘上的文件B.创建FilelnputStream对象时,如果硬盘上对应的文件不存在,则抛出异常C,利用FilelnputStream对象可以创建文件FilelnputStream是字节流18)用read。方法读取文件内容时,判断文件结束的标记为()0-11D.无标记19)以下哪个方法只对使用了缓冲的流类起作用?()read()flush))skip()write()20)文件输出流的构造方法是publicFileOutputStream(Stringname,Booleanappend)throwsFileNotFoundException,当参数append的值为false时,表示()A.创建一个新文件B.在原文件的尾部添加数据C.覆盖原文件的内容D.在原文件的指定位置添加数据21)卜列关于FileOutputStream类的write(byte[]arr,inta,intb)说法正确的是()A.此方法一次性写入文件中一整个字节数组B.参数中的a表示从a索引开始但是不包含a索引位置C.参数中的b表示需要写入文件的字节个数D.以上都不对22)哪个方法是实现Runnable接口所需的?wait0runOstopOstart023)创建FileOutputStream对象时,如果对应的文件在硬盘上不存在,则会():如果对应的文件在硬盘上己经存在,则会()A.自动创建、覆盖B.抛出异常、抛出异常C.自动创建、覆盖或追加信息D.抛出异常、覆盖或追加信息24)运行下列程序,会产生什么结果( )publicclassXextendsThreadimplementsRunnable(publicvoidrun(){System,out.println(,zthisisrun()”);)publicstaticvoidmain(Stringargs[])(Threadt=newThread(newX());t.start0;A.第一行会产生编译错误B.第六行会产生编译错误C.程序会运行和启动,有输出内容D.程序会运行和启动,无输出内容25)Java中实现线程同步的关犍字是()staticfinalsynchronizedprotected26)关于线程的说法中,下列哪个描述正确()A.一个线程一旦被创建,就立即开始运行B.调用start。方法,线程会直接进入运行状态C.当运行状态的线程因为调用了Socket的read方法后,如果此时并无数据可读,

则线程会进入阻塞的状态D.当因等待对象锁而被阻塞的线程获得锁后,将直接进入运行状态newThread() I丫匕口[塞亲广建 I/O完成如用户输入 等待用户输入sleep结束 Thread.sleepOjoin的线程结束 tl.joinQ2rt° Thread.yield() run()结强可时间片用完-os调度选中Synchronizedo.waitf)获得同步锁 同步锁定K黑跳(7(高阻塞wait时而至j /27)Thread,sleep()方法调用后,当等待时间已到,该线程所处状态为()A.阻塞状态B.可运行状态C.运行状态D.新建状态28)以下哪个不属于线程的状态(A.B.C.A.B.C.D.2.29)新生状态的线程其可能直接进入的状态是()A.阻塞状态B.运行状态C.新建状态D.结束状态30)当线程因异常而退出run。后,其所处状态为()A.阻塞状态B.运行状态C.就绪状态D.结束状态

31)当线程被创建后,其所处的状态是()A.阻塞状态B.运行状态C.就绪状态D.新建状态32)当线程调用start。后,其所处状态为()A.阻塞状态B.运行状态C.就绪状态D.新建状态33)线程生命周期中正确的状态是()A.新建状态、运行状态和终止状态B.新建状态、运行状态、阻塞状态和终止状态C.新建状态、可运行状态、运行状态、阻塞状态和终止状态D.新建状态、可运行状态、运行状态、恢复状态和终止状态34)当使用客户端套接字Socket创建对象时,需要指定()A.服务器主机名称和端口B.服务器端II和文件C.服务器名称和文件D.服务器地址和文件35)有关客户端与服务器之间的输入输出流的编码设置,以下哪个描述正确?A.若要使得两端不出现字符乱码的情况,必须让客户端与服务器的输入输出流均设为相同的编码:B.若要使得两端不出现字符乱码的情况,可以设置客户端的输入流与服务器的输出流,或客户端的输出流与服务器的输入流设为相同的编码;C.若要使得两端不出现字符乱码的情况,可以设置客户端的输入流与服务器的输入流,或客户端的输出流与服务器的输出流设为相同的编码;D.以上均不对。ServerSocket的监听方法accept。的返回值类型是()voidObjectSocketD.DatagramSocket37)关于TCP三次握手,下列描述正确的是()X调用Socket的connect方法,触发三次握手的开始B.Socket的connect方法与三次握手无关C.调用ServerSocket的accept方法,三次握手才会完成D.对于非阻塞I/O,调用connect的方法,要等到三次握手完成才会返回38)在服务器程序中,线程在哪个情况不会进入阻塞状态?A.线程执行Socket的connect()方法连接服务端。B.线程执行Socket的getOutputStream()方法获得输出流。C.线程执行ServerSocket的accept。方法D.线程从Socket的输入流读入数据,或向Socket的输出流写一批数据java当中网络编程的接口是在哪个包当中提供的()A.java,utiljava,langC.java,netjava,ioServerSocketChannel可能发生哪些事件?SelectionKey.0P_ACCEPT:接收连接就绪事件SelectionKey.OP.CONNECT:连接就绪事件。SelectionKey.OP.READ:读就绪事件。SelectionKey.OP.WRITE:写就绪事件。SocketChannel不可能发生的事件是()SelectionKey.OPJ^CCEPT:接收连接就绪事件SelectionKey.OP.CONNECT:连接就绪事件。SelectionKey.OP.READ:读就绪事件。SelectionKey.OP.WRITE:写就绪事件。

SelectionKey类的静态常量:■ServerSocketChannem-种小片:SelectionKey.:接收连接就绪事件.表示至少有:ServerSockeS代为女扑用富通信上了•个客户连接,服务器可以接收这个连接6・SocketchannelH能发々E卜:种小件:>SelectionKey. :SelectionKey类的静态常量:■ServerSocketChannem-种小片:SelectionKey.:接收连接就绪事件.表示至少有:ServerSockeS代为女扑用富通信上了•个客户连接,服务器可以接收这个连接6・SocketchannelH能发々E卜:种小件:>SelectionKey. :连接就绪Ml,&示客户叮得的连接己经也上成功.>SelectionKey.可读数据,可以执行读操作了。:读就绪小件,女东输入端中12>SelectionKey.流写敷抵了.,写就到的f件,我小己”可以向输川这0:Socket符代类,支持阻塞通信与非阻塞通信:为ServerSocketChanne麻抄接收连接就绪事件,SocketChannel监控连接就绪、读就绪和笃就绪小件:其定义的淤正常依表示卫心:表示字»缓冲X,SocketChanneWwrite。方法部会探织ByteBu径r42)下列哪个方法不是用于判断非阻塞I/O的就绪事件()isAcceptable0isSelectable()isReadable0isWritable043)卜列有关SocketCharmel的描述,正确的是():A.创建对象时,默认是阻塞模式B.创建对象时,默认是非阻塞模式C,只能用于阻塞模式D.以上都不对44)问题:以下哪个叙述是正确的?DatagramSocket的send(DatagramPacketsrc)方法发送数据报时,如果无法送达接收方,该方法会抛出lOExceptionDatagramSocket应用read方法来接收数据C.对于用于接收数据的DatagramPacket,如果实际接收到的数据报的长度大于DatagramPacket的长度,那么多余的数据就会被丢弃D.DatagramSocket的getlnputStreamO方法用于获得输入流45)以下是DatagramPacket的构造方法,哪个不是用于发送数据报到指定主机?publicDatagramPacket(byte[]data,intlength)publicDatagramPacket(bytedata,intlength,InetAddressaddress,intport)publicDatagramPacket(byteE]data,intoffset,intlength,InetAddressaddress,intport)publicDatagramPacket(byte[]data,intoffset,intlength,SocketAddressaddress)46)当DatagramSocket接收到了来自任意一个主机的数据报,如果要知道该数据报的发送者的UDP端口,可以通过如下哪个方法来获取()A.调用DatagramSocket的getPortO方法B.调用DatagramPacket的getPortO方法调用DatagramPacket的getRemotePort0方法调用DatagramSocket的getRemotePort0方法47)关于DatagramSocket的connect。和disconnect()方法,卜面哪个说法是正确?connect()方法使得DatagramSocket哲时只能与特定的远程DatagramSocket通信。DatagramSocket的connect。方法与Socket的connect()方法的作用相同。C.不可以对一个DatagramSocket对象多次调用connect。方法。D.调用TDatagramSocket的disconnect。方法后,这个DatagramSocket就失效T,不能再收发数据报。48)关于DatagramSocket的选项,下面哪些说法是正确的?A.方法setTimeToLive用于设置数据包的默认生存时间B.在创建组播放socket时,newMulticastSocket(3000)中的3000指的是绑定的远程接收者的端口C.方法setLoopbackMode(Booleandisable)启用/禁用多播数据报的本地回送,当形式参数为disable为true时,表示启用回送功能。D.方法joinGroup用于加入一个组播组,发送方在组播数据给一个组播组时,必须要调用这个方法先加入这个组播组49)下列关于组播描述不正确的是()A.在java中,使用.MulticastSocket类来组播数据55是一个组播地址

c.IP组播是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于TCP/IP网络上的多个接收者的协议D.组播比单播的点对点通信宽,但比广播通信窄而且目标更明确组播地址:组播中的一组主机所共享的地址组播地址是范围在224・0.0.0~239・255・255・255之|间的1[^也址-55-55-55-55-55-55-55-55是公用组播地址,可以用于internet;为用户可用的组播地址(临时组地址),全网范围内有效;为本地管理组播地址,仅在特定的本地范围内有效.50)以下哪个类不是用于TCP协议通信的()A.MulticastSocket B.SocketChannelServerSocket D.Socket1.填空题(共10空,每空5分,共50分)1)阅读下面的程序MyAdd.java,填写划线部分的语句或注释,并写出程序执行结果。publieclassMyAdd(1)extendsThread {〃继承线程类staticinttotal=10;intn;publicMyAdd(intn){this.n=n;)publicvoidrun(){try{sleep(n);〃含义是:睡眠n毫秒 (② total=total+n;System,out.println(total);}catch(Exceptione){System.out.println(^EXCEPTION!");))publicstaticvoidmain(StringL]args){MyAddtl=newMyAdd(3000);⑶start。 ; //启动线程tl2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论