


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
A1、 Java網(wǎng)絡(luò)程序位于TCP/IP參考模型的哪一層?(B)a)網(wǎng)絡(luò)層互聯(lián)層b)應(yīng)用層c)傳輸層網(wǎng)絡(luò)d)主機(jī)-網(wǎng)絡(luò)層
2、以下哪些協(xié)議位于傳輸層?(AD)a)TCPb)HTTPc)SMTPd)UDPf)IP
3、一個(gè)服務(wù)器進(jìn)程執(zhí)行以下代碼:ServerSocketserverSocket=newServerSocket(80);Socketsocket=serverSocket.accept();
intport=socket.getPort();以下哪些說(shuō)法正確?(ACD)a)服務(wù)器進(jìn)程占用80端口。b)socket.getPort()方法返回服務(wù)器進(jìn)程占用的本地端口,此處返回值是80。c)當(dāng)serverSocket.accept()方法成功返回,就表明服務(wù)器進(jìn)程接收到了一個(gè)客戶連接請(qǐng)求。d)socket.getPort()方法返回客戶端套節(jié)字占用的本地端口。4、在客戶/服務(wù)器通信模式中,客戶與服務(wù)器程序的主要任務(wù)是什么?(BC)a)客戶程序在網(wǎng)絡(luò)上找到一條到達(dá)服務(wù)器的路由。b)客戶程序發(fā)送請(qǐng)求,并接收服務(wù)器的響應(yīng)。c)服務(wù)器程序接收并處理客戶請(qǐng)求,然后向客戶發(fā)送響應(yīng)結(jié)果。d)如果客戶程序與服務(wù)器都會(huì)保證發(fā)送的數(shù)據(jù)不會(huì)在傳輸途中丟失。1、B2、AD3、ACD4、BC二、填空題(郵件)1、名詞解釋SMTP:()2、主要的SMTP命令SMTP命令說(shuō)明()指明郵件發(fā)送者的主機(jī)地址()指明郵件接收者的郵件地址()表示接下來(lái)將發(fā)送郵件內(nèi)容1、簡(jiǎn)單郵件傳輸協(xié)議2、HELP/EHLOMAILFROMECPTTODATA三、簡(jiǎn)答題(線程池)寫出五種使用線程池時(shí)應(yīng)注意的事項(xiàng),并進(jìn)行簡(jiǎn)要說(shuō)明?線程池可能會(huì)帶來(lái)種種風(fēng)險(xiǎn):1.死鎖2.系統(tǒng)資源不足3.并發(fā)錯(cuò)誤4.線程泄漏5.任務(wù)過(guò)載使用線程池時(shí)需要遵循以下原則:(1)如果任務(wù)A在執(zhí)行過(guò)程中需要同步等待任務(wù)B的執(zhí)行結(jié)果,那么任務(wù)A不適合加入到線程池的工作隊(duì)列中。(2)如果執(zhí)行某個(gè)任務(wù)時(shí)可能會(huì)阻塞,并且是長(zhǎng)時(shí)間的阻塞,則應(yīng)該設(shè)定超時(shí)時(shí)間,避免工作線程永久的阻塞下去而導(dǎo)致線程泄漏。(3)根據(jù)任務(wù)的特點(diǎn),對(duì)任務(wù)進(jìn)行分類,然后把不同類型的任務(wù)分別加入到不同線程池的工作隊(duì)列中,這樣可以根據(jù)任務(wù)的特點(diǎn),分別調(diào)整每個(gè)線程池。(4)調(diào)整線程池的大小。線程池的最佳大小主要取決于系統(tǒng)的可用CPU的數(shù)目以及工作隊(duì)列中任務(wù)的特點(diǎn)。(5)避免任務(wù)過(guò)載。四、JAVA對(duì)客戶程序的通信過(guò)程進(jìn)行了抽象,提供了通用的協(xié)議處理框架,請(qǐng)用UML圖顯示客戶端協(xié)議處理框架的主要對(duì)象模型。(20分)五、編程題用JAVA編寫客戶、服務(wù)器程序(利用ServerSocket與Socket編寫)創(chuàng)建EchoServer(寫出主要程序代碼并注釋2、輸出流輸入流通用方法3、EchoServer類最主要方法為service()方法,寫出其方法中的代碼。4、寫出創(chuàng)建EchoClient的構(gòu)造方法5、EchoClient類中,最主要的方法為talk()方法,寫出其方法源代碼。publicEchoServer()throwsIOException{serverSocket=newServerSocket(port);System.out.println("服務(wù)器啟動(dòng)");}privatePrintWritergetWriter(Socketsocket)throwsIOException{OutputStreamsocketOut=socket.getOutputStream();returnnewPrintWriter(socketOut,true);}privateBufferedReadergetReader(Socketsocket)throwsIOException{InputStreamsocketIn=socket.getInputStream();returnnewBufferedReader(newInputStreamReader(socketIn));}publicvoidservice(){while(true){Socketsocket=null;try{socket=serverSocket.accept();//等待客戶連接System.out.println("Newconnectionaccepted"+socket.getInetAddress()+":"+socket.getPort());BufferedReaderbr=getReader(socket);PrintWriterpw=getWriter(socket);Stringmsg=null;}publicEchoClient()throwsIOException{socket=newSocket(host,port);}B一選擇題下列各題A、B、C、D四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確的結(jié)果打√
1、問(wèn)題:關(guān)于ServerSocket構(gòu)造方法的backlog參數(shù),以下哪些說(shuō)法是正確的?(abdf)
a)backlog參數(shù)用來(lái)顯式設(shè)置操作系統(tǒng)中的連接請(qǐng)求隊(duì)列的長(zhǎng)度。b)如果沒(méi)有設(shè)置backlog參數(shù),那么連接請(qǐng)求隊(duì)列的長(zhǎng)度由操作系統(tǒng)決定。c)當(dāng)服務(wù)器端的連接請(qǐng)求隊(duì)列已滿,客戶端就無(wú)法建立與服務(wù)器的連接。d)如果backlog參數(shù)的值大于操作系統(tǒng)限定的隊(duì)列的最大長(zhǎng)度,那么backlog參數(shù)被忽略。e)連接請(qǐng)求隊(duì)列直接由ServerSocket創(chuàng)建并管理。f)ServerSocket的accept()方法從連接請(qǐng)求隊(duì)列中取出連接請(qǐng)求。
2、問(wèn)題:對(duì)于以下程序代碼:
ServerSocketserverSocket=newServerSocket(8000);serverSocket.setReuseAddress(true);哪個(gè)說(shuō)法是正確的?(C)a)以上代碼運(yùn)行時(shí)出錯(cuò)b)以上代碼編譯時(shí)出錯(cuò)c)以上代碼盡管編譯與運(yùn)行不會(huì)出錯(cuò),但對(duì)SO_REUSEADDR選項(xiàng)的設(shè)置無(wú)效d)以上說(shuō)法都不正確3、如何判斷一個(gè)ServerSocket已經(jīng)與特定端口綁定,并且還沒(méi)有被關(guān)閉?(B)a)booleanisOpen=serverSocket.isBound();b)booleanisOpen=serverSocket.isBound()&&!serverSocket.isClosed();c)booleanisOpen=serverSocket.isBound()&&serverSocket.isConnected();d)booleanisOpen=!serverSocket.isClosed();4、問(wèn)題:對(duì)于以下代碼:intn=socketChannel.read(byteBuffer);//假定n>=0byteBuffer.flip();假定執(zhí)行socketChannel.read(byteBuffer)方法前,byteBuffer的容量、極限與位置分別為c、l與p,執(zhí)行完以上代碼后,byteBuffer的容量、極限與位置分別是多少?Ba)容量為c,極限為l,位置為p+nb)容量為c,極限為p+n,位置為0c)容量為l,極限為p+n,位置為0d)容量為c,極限為p+n,位置為p+n5、問(wèn)題:線程執(zhí)行Selector對(duì)象的select(longtimeout)方法時(shí)進(jìn)入阻塞狀態(tài),在哪些情況,線程會(huì)從select()方法中返回?(abde)a)至少有一個(gè)SelectionKey的相關(guān)事件已經(jīng)發(fā)生。b)其他線程調(diào)用了Selector對(duì)象的wakeup()方法。c)與Selector對(duì)象關(guān)聯(lián)的一個(gè)SocketChannel對(duì)象被關(guān)閉。d)當(dāng)前執(zhí)行select()方法的線程被其他線程中斷。e)超出了等待時(shí)間。6、問(wèn)題:在HTTP響應(yīng)結(jié)果中,哪個(gè)狀態(tài)代碼表示響應(yīng)成功?選項(xiàng):Da)404 b)405 c)500 d)2007、問(wèn)題:對(duì)于HTTP的GET請(qǐng)求方式,用戶提交的表單數(shù)據(jù)位于HTTP請(qǐng)求的哪一部分?A選項(xiàng):a)請(qǐng)求頭中b)請(qǐng)求正文中一、選擇題1、abdf2、c3、b4、b5、abde6、d7、a二、JAVA對(duì)客戶程序的通信過(guò)程進(jìn)行了抽象,提供了通用的協(xié)議處理框架,請(qǐng)用UML圖顯示客戶端協(xié)議處理框架的主要對(duì)象模型。三、填空題HTTP協(xié)議規(guī)定,HTTP請(qǐng)求由3部分構(gòu)成,分別是:請(qǐng)求:請(qǐng)求方式、URI、HTTP協(xié)議版本請(qǐng)求頭請(qǐng)求正文與HTTP請(qǐng)求相似,HTTP響應(yīng)也由3部分構(gòu)成,分別是:響應(yīng):HTTP協(xié)議版本、狀態(tài)代碼、描述響應(yīng)頭響應(yīng)正文四、編程題創(chuàng)建非阻塞的EchoServer1、處理接收連接就緒事件2、處理讀就緒事件3、處理寫就緒事件4、編碼與解碼5、在非阻塞模式下確保發(fā)送一行數(shù)據(jù)6、刪除ByteBuffer中的已處理數(shù)據(jù)//創(chuàng)建一個(gè)Selector對(duì)象selector=Selector.open();//創(chuàng)建一個(gè)ServerSocketChannel對(duì)象serverSocketChannel=ServerSocketChannel.open();//使得在同一個(gè)主機(jī)上關(guān)閉了服務(wù)器程序,緊接著再啟動(dòng)該服務(wù)器程序時(shí),//可以順利綁定到相同的端口serverSocketChannel.socket().setReuseAddress(true);//使ServerSocketChannel工作于非阻塞模式serverSocketChannel.configureBlocking(false);//把服務(wù)器進(jìn)程與一個(gè)本地端口綁定serverSocketChannel.socket().bind(newInetSocketAddress(port));publicvoidservice()throwsIOException{serverSocketChannel.register(selector,SelectionKey.OP_ACCEPT);while(selector.select()>0){//第一層while循環(huán)SetreadyKeys=selector.selectedKeys();//獲得Selector的selected-keys集合Iteratorit=readyKeys.iterator();while(it.hasNext()){//第二層while循環(huán)SelectionKeykey=null;try{//處理SelectionKeykey=(SelectionKey)it.next();//取出一個(gè)SelectionKeyit.remove();//
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)環(huán)境監(jiān)測(cè)技術(shù)規(guī)范與標(biāo)準(zhǔn)考核試卷
- 電腦刺繡技術(shù)考核試卷
- 空調(diào)器運(yùn)行數(shù)據(jù)挖掘與分析考核試卷
- 糕點(diǎn)烘焙的環(huán)保生產(chǎn)理念考核試卷
- 電機(jī)在電力質(zhì)量改善的應(yīng)用考核試卷
- 生物質(zhì)能源在農(nóng)村能源中的應(yīng)用考核試卷
- 江蘇省宿遷市2025年初三5月第二次聯(lián)考化學(xué)試題含解析
- 上海師范大學(xué)天華學(xué)院《交替?zhèn)髯g1》2023-2024學(xué)年第一學(xué)期期末試卷
- 遂寧能源職業(yè)學(xué)院《外國(guó)語(yǔ)言文學(xué)導(dǎo)論(1)》2023-2024學(xué)年第一學(xué)期期末試卷
- 揚(yáng)州市職業(yè)大學(xué)《現(xiàn)代計(jì)算方法與工具》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年陜西省漢中市寧強(qiáng)縣中考一模道德與法治試題(含答案)
- 2024年阜陽(yáng)太和縣第二人民醫(yī)院招聘筆試真題
- 工地分紅合同協(xié)議
- 變配電工多選試題及答案
- 零售業(yè)智能轉(zhuǎn)型:DeepSeek驅(qū)動(dòng)的消費(fèi)行為分析與推選系統(tǒng)
- 招商引資知識(shí)培訓(xùn)課件
- 癌癥治療協(xié)議書模板
- 2025年平頂山文化藝術(shù)職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 弘揚(yáng)航天精神中國(guó)航天日主題宣教課件
- 上海市寶山區(qū)上海交大附中2024-2025學(xué)年高考生物試題模擬試卷(8)生物試題含解析
- 私募基金財(cái)務(wù)管理制度版本
評(píng)論
0/150
提交評(píng)論