


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、復(fù)習(xí)大綱 以林昊的分布式Java應(yīng)用基礎(chǔ)與實(shí)踐,電子工業(yè)出版社一書(shū)為基礎(chǔ)。根據(jù)每一章前面的圖提衣攜領(lǐng)地復(fù)習(xí)每一章,即先根據(jù)圖熟悉本章講了幾個(gè)問(wèn)題,每個(gè)問(wèn)題又分為那幾個(gè)方面,每個(gè)方面的解決方法是什么。熟悉TCP/IP+BIO、TCP/IP+NIO、UDP/IP+BIO、UDP/IP+NIO實(shí)現(xiàn)基于消息方式實(shí)現(xiàn)系統(tǒng)間通信的主要過(guò)程(步驟)。答:TCP/IP+BIO:Java中可基于Socket和ServerSocket實(shí)現(xiàn)TCP/IP+BIO的分布式系統(tǒng)間通信。其中,Socket用于連接和網(wǎng)絡(luò)I/O的操作,ServerSocket用于實(shí)現(xiàn)服務(wù)器端端口的監(jiān)聽(tīng)及Socket對(duì)象的獲取。TCP/IP+B
2、IO實(shí)現(xiàn)基于消息方式實(shí)現(xiàn)系統(tǒng)間通信的主要過(guò)程是:客戶端:創(chuàng)建連接Socket socket = new Socket(目標(biāo)IP,目標(biāo)端口); (2) 創(chuàng)建讀取服務(wù)器端返回流的BufferReader BufferReader in = new BufferReader(new InputStreamReader(socket.getInputStream(); (3) 創(chuàng)建向服務(wù)器寫(xiě)入流的PrinterWriter PrinterWriter out = new PrinterWriter(socket.getOututStream(), true); (4)像服務(wù)器端發(fā)送字符串Out.pri
3、ntln(“消息內(nèi)容”); (5) 阻塞讀取服務(wù)器的返回信息。該阻塞過(guò)程會(huì)持續(xù)到服務(wù)器返回信息或網(wǎng)絡(luò)異常為止。 In.readline( );服務(wù)器端核心代碼:創(chuàng)建本地指定端口的監(jiān)聽(tīng)ServerSocket ss = new ServerSocket(監(jiān)聽(tīng)端口)接受客戶端建連接請(qǐng)求Socket socket = ss.accept( );2、熟悉WebService調(diào)用過(guò)程。答:WebService是一種跨語(yǔ)言的系統(tǒng)間交互標(biāo)準(zhǔn),服務(wù)端以HTTP方式提供服務(wù),該服務(wù)采用WSDL(Web Service Description Language)描述。WSDL文件描述服務(wù)使用的協(xié)議、期望的參數(shù)、返
4、回的參數(shù)格式等。調(diào)用端通過(guò)SOAP(Simple Object Access Protocol)方式進(jìn)行交互。 WebService調(diào)用的具體過(guò)程是:首先把服務(wù)器端的服務(wù)描述成WSDL文件,并把該WSDL文件放入HTTP服務(wù)器,用Java輔助工具根據(jù)WSDL文件生成客戶端stub代碼。Stub代碼的作用是把產(chǎn)生的對(duì)象請(qǐng)求信息封裝為標(biāo)準(zhǔn)的SOAP格式數(shù)據(jù),并發(fā)送到服務(wù)器端。服務(wù)器端在收到SOAP格式數(shù)據(jù)時(shí)進(jìn)行轉(zhuǎn)化,反射調(diào)用的Java類。熟悉Java Collection的基本數(shù)據(jù)類型,重點(diǎn)掌握使用(對(duì)象建立、元素插入、刪除、遍歷等)。重點(diǎn)掌握Set(兩種)和Map的遍歷方法(Map類的迭代器可采
5、用哪兩類方式訪問(wèn))。答:Map是重要數(shù)據(jù)集,提供了數(shù)據(jù)的插入、刪除、索引、查找、遍歷等數(shù)據(jù)訪問(wèn)功能。Map類通常采用兩類迭代器訪問(wèn)Map類,一種是keySet,一種是entrySet,示例代碼如下: String tmpkey = String.format(%d, index); if(hashmapTest.containsKey(tmpkey) System.out.println(found the key); else System.out.println(Not found the key); Iterator ite; ite = hashmapTest.keySet().ite
6、rator(); while(ite.hasNext() String tempkey = (String)ite.next(); System.out.println(Key + tempkey + value : + hashmapTest.get(tempkey); ite = hashmapTest.entrySet().iterator(); while(ite.hasNext() Map.Entry entry = (Map.Entry) ite.next(); String key = entry.getKey(); Double value = entry.getValue()
7、; System.out.println(Key + key + value : + value); 4. 熟悉Java的Concurrent數(shù)據(jù)類型,例如,ArrayList和CopyOnWriteArrayList應(yīng)用的主要不同是什么。ArrayList和CopyOnWriteArrayList都是數(shù)據(jù)集類型,ArrayList是通常的數(shù)據(jù)集合,而CopyOnWriteArrayList是并發(fā)的數(shù)據(jù)集合。 二者的不同體現(xiàn)在,(1)二者的基類不同,ArrayList的基類是java.util.ArrayList;CopyOnWriteArrayList的基類是java.util.concur
8、rent.CopyOnWriteArrayList; (2)二者支持的數(shù)據(jù)操作類型不同,ArrayList是單線程操作,而CopyOnWriteArrayList支持多線程操作。 (3)二者的性能在小規(guī)模數(shù)據(jù),二者的性能接近,隨著數(shù)據(jù)規(guī)模的增大,CopyOnWriteArrayList的性能逐漸優(yōu)于ArrayList。5.序列化和反序列化的作用是什么,以及二者的主要實(shí)現(xiàn)步驟是怎樣的。答:分布式系統(tǒng)傳送的數(shù)據(jù)類型很多,包括音頻、視頻、文字、圖像等,這些不同類型的數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時(shí)都要進(jìn)行序列化和飯序列化操作。序列化操作把要在網(wǎng)絡(luò)系統(tǒng)傳送的數(shù)據(jù)序列化為二進(jìn)制流,反序列化則把二進(jìn)制數(shù)據(jù)反序列化為原數(shù)
9、據(jù)。 序列化的常用方法:創(chuàng)建一個(gè)字節(jié)數(shù)組輸出流 ByteArrayOutputStream output = new ByteArrayOutputStream();把字節(jié)數(shù)組包裝為ObjectOutputStream ObjectOutputStream objectOut = new ObjectOutputStream(output);把對(duì)象寫(xiě)入ObjectOutputStreamobjectOut.writeObject(序列化數(shù)據(jù)) (4)關(guān)閉數(shù)據(jù)objectOut.close();output.close(); 反序列化的常用方法:(1) 創(chuàng)建一個(gè)字節(jié)數(shù)組輸入流 ByteArray
10、InutStream input = new ByteArrayInutStream (); (2)把字節(jié)數(shù)組包裝為ObjectInputStream ObjectInputStream objecIn = new ObjectInputStream(input); (3)從ObjectOutputStream對(duì)象讀出數(shù)據(jù)objecIn.readObject(序列化數(shù)據(jù))(4)關(guān)閉數(shù)據(jù)objectIn.close();input.close();6復(fù)習(xí)第6章、第7章首頁(yè)的內(nèi)容結(jié)構(gòu)圖,對(duì)避免故障使系統(tǒng)具有高可用性(第6章)、保證分布式系統(tǒng)緩存一致性(第7章)等問(wèn)題。7什么是水平伸縮、垂直伸縮,常見(jiàn)的水平伸縮、垂直伸縮架構(gòu)是什么。8水平伸縮架構(gòu)下,負(fù)載均衡機(jī)采用什么樣的策略把把用戶請(qǐng)求轉(zhuǎn)發(fā)到業(yè)務(wù)處理機(jī)。書(shū)p229-23
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)科技創(chuàng)新政策實(shí)施路徑研究考核試卷
- 體育競(jìng)技精神在初中生成長(zhǎng)中的作用考核試卷
- 對(duì)口高考測(cè)試題及答案
- 企業(yè)供應(yīng)鏈管理的優(yōu)化
- 貨物運(yùn)輸合同模板
- 房地產(chǎn)招標(biāo)代理合同模板
- 2024年山東省淄博市淄川區(qū)中考化學(xué)二模試卷(含解析)
- 電化學(xué)基礎(chǔ)雙電層模型及其發(fā)展
- 初級(jí)會(huì)計(jì)職稱《初級(jí)會(huì)計(jì)經(jīng)濟(jì)法基礎(chǔ)》1-4
- 廣東省南海中學(xué)等七校聯(lián)合體2025屆高二下化學(xué)期末檢測(cè)模擬試題含解析
- 創(chuàng)新中職學(xué)校德育工作的實(shí)踐與反思
- 河南洛陽(yáng)文旅集團(tuán)財(cái)務(wù)崗位招聘考試真題2024
- 深入研究福建事業(yè)單位考試中的經(jīng)典案例試題及答案
- 《中華傳統(tǒng)文化進(jìn)中小學(xué)課程教材指南》
- 七年級(jí)歷史下學(xué)期核心知識(shí)點(diǎn)、難點(diǎn)、重點(diǎn)知識(shí)總結(jié)
- 《基于web的寵物商城管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》8800字(論文)
- 磷酸錳鐵鋰正極材料的研究現(xiàn)狀
- 直銷團(tuán)隊(duì)隊(duì)伍建設(shè)與管理
- 8.1公平正義的價(jià)值 教案 -2024-2025學(xué)年統(tǒng)編版道德與法治八年級(jí)下冊(cè)
- 旅行社脫團(tuán)免責(zé)協(xié)議
- 云南省大理白族自治州2023-2024學(xué)年高一下學(xué)期7月期末考試 政治 含解析
評(píng)論
0/150
提交評(píng)論