java網絡編程練習題_第1頁
java網絡編程練習題_第2頁
java網絡編程練習題_第3頁
java網絡編程練習題_第4頁
java網絡編程練習題_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一個客戶進程執(zhí)行以下代碼Socketsocketl=newSocket(host,port);Socketsocket2=newSocket(host,port);以下哪些說法正確?(多選)選項:socketl與socket2占用不同的本地端口。Socket構造方法中的port參數指定占用的本地端口。c)當Socket構造方法成功返回,就表明建立了與服務器的一個TCP連接。d)執(zhí)行第二行程序代碼會拋出異常,因為一個客戶進程只能與服務器端建立一個TCP連接。.有一種協(xié)議規(guī)定:如果客戶端發(fā)送一行字符串“date”,服務器端就返回當前口期信息,如果客戶端發(fā)送一行字符串“exit”,服務器端就結束與客戶端的通信。這種協(xié)議應該屬于哪一層的協(xié)議?(單選)選項:a)網絡層互聯(lián)層b)應用層c)傳輸層網絡d)主機-網絡層.一個服務器進程執(zhí)行以下代碼:ServerSocketserverSocket=newServerSocket(80);Socketsocket=serverSocket.accept));intport=socket.getPort();以下哪些說法正確?(多選)選項:a)服務器進程占用80端口。b)socket.getPort()方法返回服務器進程占用的本地端口,此處返回值是80。c)當serversocket.accept。方法成功返回,就表明服務器進程接收到了一個客戶連接請求。d)socket.getPort()方法返回客戶端套節(jié)字占用的本地端口.下列哪個類不對直接創(chuàng)建對象?()A.InputstreamB.FilelnputStreamC.BufferedlnputStreamD.DatalnputStream.以下哪個方法只對使用了緩沖的流類起作用?()A.read()B.write()Cskip()D.flush().用read()方法讀取文件內容時,判斷文件結束的標記為()A.OB.1C-lD.無標記.使用流式套接字編程時,為了向對方發(fā)送數據,則需要使用哪個方法()A.getlnetAddress()B.getLocalPort()C.getOutputStream()D.getlnputStream().Java中的10流按讀寫單位分為字節(jié)流和字符流,分別由四個抽象類來表示:Inputstream、Outputstream、Reader、Writer,通過重載方法read()和write() 定義了用于讀寫操作的方法。.將字節(jié)流轉換成字符流時,類InputStreamReader 負責將Inputstream轉化成Reader,而類OutputStreamWriter將Outputstream轉化成Writer。.在程序讀入字符文件時,能夠以該文件作為直接參數的類是:A)FileReader B)BufferedReaderC)FilelnputStream D)Objectinputstream.能夠向文件輸入邏輯型數據的類是:A.FileOutputStream B.OutputstreamC.FileWriter D.DataOutputStream.下面關于FilelnputStream類型說法正確的是:A.創(chuàng)建FHelnputStream對象是為了讀取文件B.創(chuàng)建FilelnputStream對象時,如果硬盤上對應的文件不存在,則拋出一個異常C.利用FilelnputStream對象可以創(chuàng)建文件D.FilelnputStream對象讀取文件時,只能讀取文本文件。.創(chuàng)建FileOutputStream對象時,如果對應的文件在硬盤上不存在,則會();如果對應的文件在硬盤上己經存在,則會()A,自動創(chuàng)建、覆蓋 B.拋出異常、拋出異常C.自動創(chuàng)建、覆蓋或追加信息 D.拋出異常、覆蓋或追加信息.如果使用FileOutputStream(Stringpath,booleanappend)這個構造方法創(chuàng)建FileOutputStream對象時,下面描述正確的是:A.當append為true時,追加信息;B.當append為true時,覆蓋原文件信息;C.當append為false時,追加信息:D.如果使用FileOutputStream(Stringpath)方法創(chuàng)建對象時,默認追加信息1.線程生命周期中正確的狀態(tài)是()A.新建狀態(tài)、運行狀態(tài)和終止狀態(tài)B.新建狀態(tài)、運行狀態(tài)、阻塞狀態(tài)和終止狀態(tài)C.新建狀態(tài)、可運行狀態(tài)、運行狀態(tài)、阻塞狀態(tài)和終止狀態(tài)D.新建狀態(tài)、可■運行狀態(tài)、運行狀態(tài)、恢復狀態(tài)和終止狀態(tài).Thread類中能運行線程體的方法是()A.start() B.resumef)C.init()D.run().Thread.sleep()方法調用后,當等待時間已到,該線程所處狀態(tài)為()A.阻塞狀態(tài)B.運行狀態(tài) C就緒狀態(tài)D.新建狀態(tài).當線程因異常而退出run()后,其所處狀態(tài)為()A.阻塞狀態(tài) B.運行狀態(tài) C.就緒狀態(tài)D.結束狀態(tài).以下()不屬于線程的狀態(tài)。A.就緒狀態(tài) B.運行狀態(tài) C.阻塞狀態(tài)D.獨占狀態(tài).在多個線程訪問同一個資源時,可以使用()關鍵字來實現線程同步,保證對資源安全訪問。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);意味著線程池每次只能同時執(zhí)行3個線程,相應處理3個任務;.向線程池提交任務有哪兩個方法?有什么區(qū)別?③提交無返回值的任務(execute);②提交有返回值的任務(submitQ).請說說關閉線程池的兩個方法的區(qū)別:shutDown(),shutDownNow()oshutdownO:不會立即終止線程池,而是要等所有任芬緩存隊列中的任務都執(zhí)行完后才終止,但再也不會接受新的任務shutdownNowO:立即終止線程池,并宏試打斷正在執(zhí)行的任務,并且清空任務緩存隊列,返回尚未執(zhí)行的任務1.選擇題(單選)(共50小題,每小題1分,共50分)ip協(xié)議處于網絡體系結構的哪一層A.網際層B.傳輸層C.應用層D.主機網絡層Java網絡程序位于TCP/IP參考模型的哪一層?A.網絡層互聯(lián)層B,應用層C.傳輸層D.主機-網絡層3)假定一個進程己經占用UDP的8000端口,它還能否占用TCP的8000端口?A.可以B.不可以一個客戶進程執(zhí)行以下代碼Socketsocketl=newSocket(host,port);Socketsocket2=newSocket(host,port);以下哪些說法不正確?socketl與socket2占用不同的本地端II。Socket構造方法中的port參數指定的是遠程端口。C.當Socket構造方法成功返回,就表明建立了與服務器的一個TCP連接。D.執(zhí)行第二行程序代碼會拋出異常,因為一個客戶進程只能與服務器端建立一個TCP連接。HTTP協(xié)議規(guī)定,默認情況下,HTTP服務器占用的TCP端口號是什么?218023D.任意一個未被占用的端口號6)能夠向文件輸入邏輯型數據的類是:FileOutputStreamOutputstreamFileWriterDataOutputStream7)從哪里可以找到描述TCP/IP協(xié)議的具體文檔?JDK的JavaDoc文檔NIC的官方網站RFC的官方網站D.國際標準化組織(ISO)的官方網站8)一個服務器進程執(zhí)行以下代碼:ServerSocketserverSocket=newServerSocket(80);Socketsocket=serverSocket.accept();intport=socket.getPort();以下哪些說法不正確?A.服務器進程占用80端口。B.socket.getPort。方法返回服務器進程占用的本地端口,此處返回值是80。C.當serverSocket.accept()方法成功返回,就表明服務器進程接收到了一個客戶連接請求。D.socket.getPort。方法返回客戶端套節(jié)字占用的本地端II9)有一種協(xié)議規(guī)定:如果客戶端發(fā)送一行字符串“date”,服務器端就返回當前口期信息,如果客戶端發(fā)送一行字符串“exit”,服務器端就結束與客戶端的通信。這種協(xié)議應該屬于哪一層的協(xié)議?A.網絡層互聯(lián)層B.應用層C.傳輸層網絡D.主機-網絡層10)凡是從中央處理器或者是內存流向外部設備的數據流稱為()A.文件流B.字符流C.輸出流D.輸入流11)下列哪個類不能直接創(chuàng)建對象?()ReaderFileReaderBufferedReaderDatalnputStreamReader、Writer、Inputstream.Outputstream都不能直接創(chuàng)建對■象因為都是抽象類12)能夠以字符串為單位寫入文件數據的流類是()FileOutputStreamFileWriterBufferedWriterOutputstream13)下列屬于文件輸入輸出類的是()FilelnputStream和FileOutputStreamBufferinputstream和BufferOutputStreamPipedlnputStream和PipedOutputStreamD,以上都是14)字符輸出流類都是()抽象類的子類FilterWriterFileWriteWriterOutputStreamWrite15)下列哪個類提供readline()方法()InputstreamBufferedReaderFilelnputStreamDatalnputStream16)java中,Inputstream類所在的包是()java.awtjava.langjava.utiljava.io17)下面關于FilelnputStream類型說法不正確的是()A.創(chuàng)建FilelnputStream對象是為了讀取硬盤上的文件B.創(chuàng)建FilelnputStream對象時,如果硬盤上對應的文件不存在,則拋出異常C,利用FilelnputStream對象可以創(chuàng)建文件FilelnputStream是字節(jié)流18)用read。方法讀取文件內容時,判斷文件結束的標記為()0-11D.無標記19)以下哪個方法只對使用了緩沖的流類起作用?()read()flush))skip()write()20)文件輸出流的構造方法是publicFileOutputStream(Stringname,Booleanappend)throwsFileNotFoundException,當參數append的值為false時,表示()A.創(chuàng)建一個新文件B.在原文件的尾部添加數據C.覆蓋原文件的內容D.在原文件的指定位置添加數據21)卜列關于FileOutputStream類的write(byte[]arr,inta,intb)說法正確的是()A.此方法一次性寫入文件中一整個字節(jié)數組B.參數中的a表示從a索引開始但是不包含a索引位置C.參數中的b表示需要寫入文件的字節(jié)個數D.以上都不對22)哪個方法是實現Runnable接口所需的?wait0runOstopOstart023)創(chuàng)建FileOutputStream對象時,如果對應的文件在硬盤上不存在,則會():如果對應的文件在硬盤上己經存在,則會()A.自動創(chuàng)建、覆蓋B.拋出異常、拋出異常C.自動創(chuàng)建、覆蓋或追加信息D.拋出異常、覆蓋或追加信息24)運行下列程序,會產生什么結果( )publicclassXextendsThreadimplementsRunnable(publicvoidrun(){System,out.println(,zthisisrun()”);)publicstaticvoidmain(Stringargs[])(Threadt=newThread(newX());t.start0;A.第一行會產生編譯錯誤B.第六行會產生編譯錯誤C.程序會運行和啟動,有輸出內容D.程序會運行和啟動,無輸出內容25)Java中實現線程同步的關犍字是()staticfinalsynchronizedprotected26)關于線程的說法中,下列哪個描述正確()A.一個線程一旦被創(chuàng)建,就立即開始運行B.調用start。方法,線程會直接進入運行狀態(tài)C.當運行狀態(tài)的線程因為調用了Socket的read方法后,如果此時并無數據可讀,

則線程會進入阻塞的狀態(tài)D.當因等待對象鎖而被阻塞的線程獲得鎖后,將直接進入運行狀態(tài)newThread() I丫匕口[塞親廣建 I/O完成如用戶輸入 等待用戶輸入sleep結束 Thread.sleepOjoin的線程結束 tl.joinQ2rt° Thread.yield() run()結強可時間片用完-os調度選中Synchronizedo.waitf)獲得同步鎖 同步鎖定K黑跳(7(高阻塞wait時而至j /27)Thread,sleep()方法調用后,當等待時間已到,該線程所處狀態(tài)為()A.阻塞狀態(tài)B.可運行狀態(tài)C.運行狀態(tài)D.新建狀態(tài)28)以下哪個不屬于線程的狀態(tài)(A.B.C.A.B.C.D.2.29)新生狀態(tài)的線程其可能直接進入的狀態(tài)是()A.阻塞狀態(tài)B.運行狀態(tài)C.新建狀態(tài)D.結束狀態(tài)30)當線程因異常而退出run。后,其所處狀態(tài)為()A.阻塞狀態(tài)B.運行狀態(tài)C.就緒狀態(tài)D.結束狀態(tài)

31)當線程被創(chuàng)建后,其所處的狀態(tài)是()A.阻塞狀態(tài)B.運行狀態(tài)C.就緒狀態(tài)D.新建狀態(tài)32)當線程調用start。后,其所處狀態(tài)為()A.阻塞狀態(tài)B.運行狀態(tài)C.就緒狀態(tài)D.新建狀態(tài)33)線程生命周期中正確的狀態(tài)是()A.新建狀態(tài)、運行狀態(tài)和終止狀態(tài)B.新建狀態(tài)、運行狀態(tài)、阻塞狀態(tài)和終止狀態(tài)C.新建狀態(tài)、可運行狀態(tài)、運行狀態(tài)、阻塞狀態(tài)和終止狀態(tài)D.新建狀態(tài)、可運行狀態(tài)、運行狀態(tài)、恢復狀態(tài)和終止狀態(tài)34)當使用客戶端套接字Socket創(chuàng)建對象時,需要指定()A.服務器主機名稱和端口B.服務器端II和文件C.服務器名稱和文件D.服務器地址和文件35)有關客戶端與服務器之間的輸入輸出流的編碼設置,以下哪個描述正確?A.若要使得兩端不出現字符亂碼的情況,必須讓客戶端與服務器的輸入輸出流均設為相同的編碼:B.若要使得兩端不出現字符亂碼的情況,可以設置客戶端的輸入流與服務器的輸出流,或客戶端的輸出流與服務器的輸入流設為相同的編碼;C.若要使得兩端不出現字符亂碼的情況,可以設置客戶端的輸入流與服務器的輸入流,或客戶端的輸出流與服務器的輸出流設為相同的編碼;D.以上均不對。ServerSocket的監(jiān)聽方法accept。的返回值類型是()voidObjectSocketD.DatagramSocket37)關于TCP三次握手,下列描述正確的是()X調用Socket的connect方法,觸發(fā)三次握手的開始B.Socket的connect方法與三次握手無關C.調用ServerSocket的accept方法,三次握手才會完成D.對于非阻塞I/O,調用connect的方法,要等到三次握手完成才會返回38)在服務器程序中,線程在哪個情況不會進入阻塞狀態(tài)?A.線程執(zhí)行Socket的connect()方法連接服務端。B.線程執(zhí)行Socket的getOutputStream()方法獲得輸出流。C.線程執(zhí)行ServerSocket的accept。方法D.線程從Socket的輸入流讀入數據,或向Socket的輸出流寫一批數據java當中網絡編程的接口是在哪個包當中提供的()A.java,utiljava,langC.java,netjava,ioServerSocketChannel可能發(fā)生哪些事件?SelectionKey.0P_ACCEPT:接收連接就緒事件SelectionKey.OP.CONNECT:連接就緒事件。SelectionKey.OP.READ:讀就緒事件。SelectionKey.OP.WRITE:寫就緒事件。SocketChannel不可能發(fā)生的事件是()SelectionKey.OPJ^CCEPT:接收連接就緒事件SelectionKey.OP.CONNECT:連接就緒事件。SelectionKey.OP.READ:讀就緒事件。SelectionKey.OP.WRITE:寫就緒事件。

SelectionKey類的靜態(tài)常量:■ServerSocketChannem-種小片:SelectionKey.:接收連接就緒事件.表示至少有:ServerSockeS代為女撲用富通信上了?個客戶連接,服務器可以接收這個連接6?SocketchannelH能發(fā)々E卜:種小件:>SelectionKey. :SelectionKey類的靜態(tài)常量:■ServerSocketChannem-種小片:SelectionKey.:接收連接就緒事件.表示至少有:ServerSockeS代為女撲用富通信上了?個客戶連接,服務器可以接收這個連接6?SocketchannelH能發(fā)々E卜:種小件:>SelectionKey. :連接就緒Ml,&示客戶叮得的連接己經也上成功.>SelectionKey.可讀數據,可以執(zhí)行讀操作了。:讀就緒小件,女東輸入端中12>SelectionKey.流寫敷抵了.,寫就到的f件,我小己”可以向輸川這0:Socket符代類,支持阻塞通信與非阻塞通信:為ServerSocketChanne麻抄接收連接就緒事件,SocketChannel監(jiān)控連接就緒、讀就緒和篤就緒小件:其定義的淤正常依表示衛(wèi)心:表示字?緩沖X,SocketChanneWwrite。方法部會探織ByteBu徑r42)下列哪個方法不是用于判斷非阻塞I/O的就緒事件()isAcceptable0isSelectable()isReadable0isWritable043)卜列有關SocketCharmel的描述,正確的是():A.創(chuàng)建對象時,默認是阻塞模式B.創(chuàng)建對象時,默認是非阻塞模式C,只能用于阻塞模式D.以上都不對44)問題:以下哪個敘述是正確的?DatagramSocket的send(DatagramPacketsrc)方法發(fā)送數據報時,如果無法送達接收方,該方法會拋出lOExceptionDatagramSocket應用read方法來接收數據C.對于用于接收數據的DatagramPacket,如果實際接收到的數據報的長度大于DatagramPacket的長度,那么多余的數據就會被丟棄D.DatagramSocket的getlnputStreamO方法用于獲得輸入流45)以下是DatagramPacket的構造方法,哪個不是用于發(fā)送數據報到指定主機?publicDatagramPacket(byte[]data,intlength)publicDatagramPacket(bytedata,intlength,InetAddressaddress,intport)publicDatagramPacket(byteE]data,intoffset,intlength,InetAddressaddress,intport)publicDatagramPacket(byte[]data,intoffset,intlength,SocketAddressaddress)46)當DatagramSocket接收到了來自任意一個主機的數據報,如果要知道該數據報的發(fā)送者的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,不能再收發(fā)數據報。48)關于DatagramSocket的選項,下面哪些說法是正確的?A.方法setTimeToLive用于設置數據包的默認生存時間B.在創(chuàng)建組播放socket時,newMulticastSocket(3000)中的3000指的是綁定的遠程接收者的端口C.方法setLoopbackMode(Booleandisable)啟用/禁用多播數據報的本地回送,當形式參數為disable為true時,表示啟用回送功能。D.方法joinGroup用于加入一個組播組,發(fā)送方在組播數據給一個組播組時,必須要調用這個方法先加入這個組播組49)下列關于組播描述不正確的是()A.在java中,使用.MulticastSocket類來組播數據55是一個組播地址

c.IP組播是一種通過使用一個組播地址將數據在同一時間以高效的方式發(fā)往處于TCP/IP網絡上的多個接收者的協(xié)議D.組播比單播的點對點通信寬,但比廣播通信窄而且目標更明確組播地址:組播中的一組主機所共享的地址組播地址是范圍在224?0.0.0~239?255?255?255之|間的1[^也址-55-55-55-55-55-55-55-55是公用組播地址,可以用于internet;為用戶可用的組播地址(臨時組地址),全網范圍內有效;為本地管理組播地址,僅在特定的本地范圍內有效.50)以下哪個類不是用于TCP協(xié)議通信的()A.MulticastSocket B.SocketChannelServerSocket D.Socket1.填空題(共10空,每空5分,共50分)1)閱讀下面的程序MyAdd.java,填寫劃線部分的語句或注釋,并寫出程序執(zhí)行結果。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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論