下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、誠信應考考出水平考出風格浙江大學城市學院2010-2011學年第一學期期末考試試卷2011年1月16口Java高級程序設計開課單位:計算分院;考試形式:開卷;考試時間:所需時間:120分鐘題序得分評卷人得分一._簡答題_(本人題共_7_題,每題_5_分,共_35一分)注意:回答問題盡量簡明扼要。多線程可以使用Runnable接II。是否可以認為,通過Runnable接II實現(xiàn)多線程的方式與Thread類沒有任何關系?如果你認為有關系,那么Runnable實現(xiàn)類與Thread類是什么關系?請舉例說明。有關系;Thread類實現(xiàn)了Runnable接II,因此可以擴展TThread即實現(xiàn)了Runna
2、ble接II。采用“Runnable實現(xiàn)類”方式需要構造一個新的Thread對彖,并把Runnable實現(xiàn)類的實例作為參數(shù)傳入Thread的構造器中Threadftask:Runnable)。舉例:publicclassTestRunnablepublicstaticvoidmain(Stringargs)Threadthread=newThread(newAnTask();thread.start();classAnTaskimplementsRunnable(©Overridepublicvoidrun()/dosomething采用“擴展Thread類”方式無只需創(chuàng)建擴展Thr
3、ead類的實例(無參構造)即可,但是不推薦使用這種方法,因為它將任務和運行任務的機制混在了一起。將任務從線程中分離出來是比較好的設計。舉例:publicclassTestThreadpublicstaticvoidmain(Stringargs)Threadthread=newAnThread();thread.start();classAnThreadextendsThread(©Overridepublicvoidrun()/dosomething2. 通過Jdbc可以訪問數(shù)據(jù)庫。很多情況下,既可以使用JDBC-ODBC驅(qū)動、也可以使用純java驅(qū)動。請問兩種驅(qū)動方式都有何特點和
4、優(yōu)缺點?JDBC-ODBC橋接方式:就是搭建JDBC與ODBC之間的橋梁,(ODBC是微軟的驅(qū)程,JDBC是甲骨文的驅(qū)程)你要在控制面板上指定數(shù)據(jù)源,通過數(shù)據(jù)源來建立連接。這樣程序的可移植性并不高,需要有ODBC數(shù)據(jù)源,幾乎只能在Windows平臺下運行,跨平臺性較差。而且當你換一臺主機運行,必須先要去配置數(shù)據(jù)源,否則程序是無法運行的。純Java方式,即JDBC連接方式,就是通過java代碼直接與數(shù)據(jù)庫建立連接關系,所以執(zhí)行效率很高,而且可移植性較好,Java本身跨平臺性較好,所以不存在平臺的障礙,也無需配置數(shù)據(jù)源。早期的JDBC由于各人數(shù)據(jù)庫廠商沒有提供較完善的JDBC驅(qū)動器,所以JDBC-
5、ODBC成為一個主要的連接方式,但是現(xiàn)在不存在這種問題,只有Access數(shù)據(jù)庫必須采用JDBC-ODBC方式橋接。請說明BorderLayout布局的特點。如果希望在BorderLayout布局的容器中放入多于5個的控件,那么需要如何處理?嵌套JPanel當應用程序需要配置文件時,既可以采用Properties屬性文件、也可以采用XML文件。請簡要分析它們各自的特點。Properties屬性文件缺點:1、無法直接使用中文編碼2、無法表現(xiàn)樹形結構、數(shù)組結構等復雜數(shù)據(jù)結構優(yōu)點:1、書寫簡單方便2、程序讀取簡單XML文件優(yōu)點:1可拓展性xml中標記可以由程序員自己定義。2. xml與內(nèi)容與形式的分離
6、(1)顯示方式內(nèi)嵌于數(shù)據(jù)當中(2)數(shù)據(jù)庫搜索可以簡單高效率的運行(3)XML是自我描述語言3. 遵守嚴格的語法要求缺點:1在數(shù)據(jù)中尋找信息非常困難(樹狀存儲雖然搜索效率高但是插入和修改比較困難)2. 數(shù)據(jù)自身邏輯不得不讓位于HTML語言3. 大數(shù)據(jù)量低效率4. XML文檔做為數(shù)據(jù)提供者使用,沒有數(shù)據(jù)庫系統(tǒng)那樣完善的管理功能5通信難,由于XML是元置標語言,任何人、公司和組織都可以利用它定義新的標準,這些標準間的通信就成了巨大的問題MVC是什么?請簡要說明它的特點。MVC全名是ModelViewController,是模型(model)視圖(view)控制器(controller)的縮寫,一種軟
7、件設計典范,用于組織代碼用一種業(yè)務邏輯和數(shù)據(jù)顯示分離的方法,這個方法的假設前提是如果業(yè)務邏輯被聚集到一個部件里面,而且界面和用戶鬧繞數(shù)據(jù)的交互能被改進和個性化定制而不需要重新編寫業(yè)務邏輯MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。請簡述JavaSwing/AWT的事件處理機制(說明事件源、事件監(jiān)聽器、以及它們的關系)。Page.322請舉例說明什么情況下需要使用多線程。1、使用線程可以把占據(jù)時間長的程序中的任務放到后臺去處理2、用戶界面可以更加吸引人,這樣比如用戶點擊了一個按鈕去觸發(fā)某些事件的處理,可以彈出一個進度條來顯示處理的進度3、增加算法效
8、率4、在一些等待的任務實現(xiàn)上如用戶輸入、文件讀寫和網(wǎng)絡收發(fā)數(shù)據(jù)等,線程就比較有用了。在這種情況下可以釋放一些珍貴的資源如內(nèi)存占用等等。得分二._論述題_(本大題共_3_題,每題_15一分,共_45_分。)1. Java集合框架中有List、Set、Map等接口,請分析回答以下問題:(1) 請分別說明上述三個接口的實現(xiàn)類的特點。(2) 請分析比較一下如何選用上述三個接II的實現(xiàn)類,即什么情況下選用List實現(xiàn)類,什么情況下應該使用Set實現(xiàn)類,什么情況下使用Map實現(xiàn)類。(3) 使用接II變量操作集合對彖有何優(yōu)點和缺點?比如,以下兩行代碼都各自有何優(yōu)缺點?Lista=newArrayList()
9、;/用List接II類型變量a來訪問ArrayList對象ArrayListb=newArrayList();/用ArrayList類型變量b來訪問ArrayList對象(1)List特點:元素有放入順序,元素可重復Map特點:元素按鍵值對存儲,無放入順序Set特點:元素無放入順序,元素不可重復(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的HashCode決定的,其位置其實是固定的)(2)List實現(xiàn)類:元素可重復且有序的情況下;Set實現(xiàn)類:元素不可重復且無需的情況下;Map實現(xiàn)類:需要存儲鍵值對的情況下。(3)方式1:利用Java繼承的機制,隱藏了List實現(xiàn)類的細節(jié),讓
10、使用者無需考慮List接II的具體實現(xiàn)方式,有利于代碼的維護(一個簡單的例子,如需更換List的實現(xiàn)類,只需修改在創(chuàng)建對象的那一句代碼),缺點就是無法調(diào)用ArrayList擴展的方法,例如方法trimToSize();方式2:直接把ArrayList這個實現(xiàn)類耦合進代碼,不利于代碼的維護。優(yōu)點就是可以調(diào)用ArrayList擴展的方法。根據(jù)具體情況選擇相應的方式。2. 關于OR映射,請回答以下問題:(1)什么是OR映射?OR映射有何用途?(2)請簡要說明OR映射的基本原理。(3)訪問數(shù)據(jù)庫既可以通過OR映射方式,也可以直接通過JDBC。請分析比較兩種訪問方式的優(yōu)缺點?(1)OR映射即對象關系映射
11、,0為Object即面向?qū)ο蟪绦蛑械膶ο?R為Relation即關系數(shù)據(jù)庫。使用OR映射的編程方法使得Java程序員可以使用對象編程思維來操縱數(shù)據(jù)庫,使得程序設計得更加精煉易于理解與修改,把復雜的SQL語句與業(yè)務邏輯解耦,使得程序更符合高內(nèi)聚低耦合的設計思想。(2)創(chuàng)建與數(shù)據(jù)庫表對應的實體類(Entity或Object),設置相應的域于數(shù)據(jù)庫表的屬性做映射,然后設置get/set方法,然后封裝操作SQL語句(查刪改)到對應的DAO(DataAccessObjects數(shù)據(jù)訪問對象)中,由這兩種對彖構成即為數(shù)據(jù)持久層,封裝了底層數(shù)據(jù)操作細節(jié),提供相應的接I給業(yè)務邏輯層使用,分工明確,體現(xiàn)了高內(nèi)聚低
12、耦合的思想。(3)OR映射:采用低耦合高內(nèi)聚的設計思想,分別封裝了數(shù)據(jù)、數(shù)據(jù)訪問以及業(yè)務邏輯,雖然程序設計會變得更為復雜,但是從長期的擴展性、健壯性、可理解性來說,這樣的付出是值得的,尤其是在大型項目中顯得尤為必要。JDBC:直接使用JDBC接II操縱數(shù)據(jù)庫,使得程序模式簡單,而且效率會比OR映射略高,更易于性能和存儲的優(yōu)化等,但是在復雜的項目中使得數(shù)據(jù)庫操作和業(yè)務邏輯耦合在一起,變的難以調(diào)試,所以適合小型項目、業(yè)務邏輯簡單的項目。3. 關于Java網(wǎng)絡編程,請回答以下問題:(1)在使用TCP協(xié)議進行網(wǎng)絡編程時,需要使用哪些關鍵類(包扌舌偵聽、數(shù)據(jù)傳送時所涉及的核心類)?并請簡要描述這些類的用
13、途。(2)在使用UDP協(xié)議進行網(wǎng)絡編程時,需要使用哪些關鍵類(包括偵聽、數(shù)據(jù)傳送時所涉及的核心類)?并請簡要描述這些類的用途。(3)請簡要說明上述兩種網(wǎng)絡通信方式的各自優(yōu)缺點。Serversocket:此類實現(xiàn)服務器套接字。服務器套接字等待請求通過網(wǎng)絡傳入。它基于該請求執(zhí)行某些操作,然后可能向請求者返回結果。Socket:此類實現(xiàn)客戶端套接字(也可以就叫"套接字”)。套接字是兩臺機器之間的通信端點。Datagramsocket:此類表示用來發(fā)送和接收數(shù)據(jù)報包的套接字。DatagramPacket:此類表示UDP數(shù)據(jù)報包。1、TCP是基于連接的,UDP是基于無連接2、對系統(tǒng)資源的要求(
14、TCP較多,UDP少)3、UDP程序結構較簡單4、流模式與數(shù)據(jù)報模式5、TCP保證數(shù)據(jù)正確性,UDP可能丟包,TCP保證數(shù)據(jù)順序,UDP不保證得分三_編程題_(本人題共_2_題,每題一10_分,共20_分。)1.設計一個線程類,該線程類可以執(zhí)行長時間任務,并且可以被中途終止。要求如下:該線程類的類名為TaskThread,為Thread的子類。該線程類中有一個excuteTask方法(為實例方法),該方法用于模擬一種操作(比如壓縮文件操作),具體實現(xiàn)代碼可以用注釋方式說明,無需實現(xiàn)。線程啟動執(zhí)行時,在run方法中可以循環(huán)調(diào)用上述excuteTask方法。換言之,線程所執(zhí)行的長時間任務就是對ex
15、cuteTask方法的循壞調(diào)用。該線程類有一個stopTask方法(為實例方法)。stopTask方法被調(diào)用后,可以終止線程的執(zhí)行(即終止循環(huán))。publicclassTaskThreadextendsThreadprivatebooleanisExit;/退出標志publicvoidexcuteTask()/dosomethingtryThread.sleep(lO);catch(InterruptedExceptione)e.printStackTrace();System.out.println("dosomething");Overridepublicvoidrun
16、()System.out.println(HTaskThreadbegin11);while(!isExit)this.excuteTask();System.out.println(HTaskThreadstop1');publicvoidstopTask()this.isExit=true;publicstaticvoidmain(Stringargs)TaskThreadtaskThread=newTaskThread();taskThread.start();tryThread.sleep(lOO);catch(InterruptedExceptione)e.printStac
17、kTrace();taskThread.stopTask();實現(xiàn)電話撥號器程序,界面如卞:設計要求如下:設i一個MyTelephone類,該類從JFrame繼承。窗體的尺寸大小是:寬500,高300。在主窗體的中央?yún)^(qū)域放入一個JPanel容器,該容器使用GridLayout布局,共有12個JButton按鈕,各按鈕排放位置如上圖所示。在主窗體的南方區(qū)域放入1個JLabel對象。當點擊按鈕時,可以將點擊的按鈕所對應的數(shù)字填入JLabel中。比如,圖中的“1338899999”就是依次點擊"1”、“3”、“3”、“8”、“8”、“9”、“9”、“9”、“9”、“9”等按鈕后顯示的電話號
18、碼。importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swingFrame;importjavax.swing.JLabel;importjavax.swingJPanel;publicclassMyTelephoneextendsJFrameimplementsActionListenerprivateJLabelnumLabel=newJLabel();publicMyTelephone()this.setSize(500,300);JPanelnumPanel=newJPanel();numPanel.se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026貴州安順市消防救援支隊面向社會招聘政府專職消防員20人(第一批)考試備考題庫及答案解析
- 2026江西九江市修水縣投資集團有限公司招聘21人考試參考題庫及答案解析
- 2025安徽亳州市利辛縣產(chǎn)業(yè)發(fā)展集團有限公司招聘擬聘公示考試參考題庫及答案解析
- 2026年河北唐山中心醫(yī)院眼科急聘2人考試備考題庫及答案解析
- 2026年1月重慶市永川區(qū)衛(wèi)星湖街道辦事處招聘公益性崗位人員2人考試備考試題及答案解析
- 2026湖南長沙市實驗小學北園學校春季教師(含實習教師)招聘筆試備考試題及答案解析
- 2026中國一汽校園招聘考試備考題庫及答案解析
- AI全棧存儲的價值重估-
- 2026重慶人民醫(yī)院招聘考試備考試題及答案解析
- 2026年撫順職業(yè)技術學院單招職業(yè)技能筆試參考題庫帶答案解析
- 患者身份識別錯誤應急預案與處理流程
- 化工儲存設備知識培訓課件
- 直招軍官考試試卷及答案
- 西游記之女兒國教學課件
- 血透室水處理維護課件
- 2025-2026學年外研版(三起)三年級英語上冊(全冊)教案(附目錄)
- 別墅設計調(diào)研
- 服裝企業(yè)庫存優(yōu)化管理方案
- DB1331-T 114-2025 雄安新區(qū)近零碳變電站技術標準
- c1學法減分考試題庫及答案
- 恩施排污管理辦法
評論
0/150
提交評論