版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
誠信應(yīng)考考出水平考出風(fēng)格浙江大學(xué)城市學(xué)院2023—2023學(xué)年第一學(xué)期期末考試試卷?Java高級程序設(shè)計?開課單位:計算分院;考試形式:開卷;考試時間:2023年1月16日所需時間:120分鐘題序一二三總分得分評卷人得分一.__簡答題_(本大題共_7__題,每題__5__分,共__35_分)注意:答復(fù)以下問題盡量簡明扼要。多線程可以使用Runnable接口。是否可以認(rèn)為,通過Runnable接口實現(xiàn)多線程的方式與Thread類沒有任何關(guān)系?如果你認(rèn)為有關(guān)系,那么Runnable實現(xiàn)類與Thread類是什么關(guān)系?請舉例說明。有關(guān)系;Thread類實現(xiàn)了Runnable接口,因此可以擴展了Thread即實現(xiàn)了Runnable接口。采用“Runnable實現(xiàn)類〞方式需要構(gòu)造一個新的Thread對象,并把Runnable實現(xiàn)類的實例作為參數(shù)傳入Thread的構(gòu)造器中——Thread(task:Runnable)。舉例:publicclassTestRunnable{ publicstaticvoidmain(String[]args){ Threadthread=newThread(newAnTask()); thread.start(); }}classAnTaskimplementsRunnable{ @Override publicvoidrun(){ //dosomething }}采用“擴展Thread類〞方式無只需創(chuàng)立擴展Thread類的實例〔無參構(gòu)造〕即可,但是不推薦使用這種方法,因為它將任務(wù)和運行任務(wù)的機制混在了一起。將任務(wù)從線程中別離出來是比較好的設(shè)計。舉例:publicclassTestThread{ publicstaticvoidmain(String[]args){ Threadthread=newAnThread(); thread.start(); }}classAnThreadextendsThread{ @Override publicvoidrun(){ //dosomething }}
2.通過Jdbc可以訪問數(shù)據(jù)庫。很多情況下,既可以使用JDBC-ODBC驅(qū)動、也可以使用純java驅(qū)動。請問兩種驅(qū)動方式都有何特點和優(yōu)缺點?JDBC-ODBC橋接方式:就是搭建JDBC與ODBC之間的橋梁,〔ODBC是微軟的驅(qū)程,JDBC是甲骨文的驅(qū)程〕你要在控制面板上指定數(shù)據(jù)源,通過數(shù)據(jù)源來建立連接。這樣程序的可移植性并不高,需要有ODBC數(shù)據(jù)源,幾乎只能在Windows平臺下運行,跨平臺性較差。而且當(dāng)你換一臺主機運行,必須先要去配置數(shù)據(jù)源,否那么程序是無法運行的。純Java方式,即JDBC連接方式,就是通過java代碼直接與數(shù)據(jù)庫建立連接關(guān)系,所以執(zhí)行效率很高,而且可移植性較好,Java本身跨平臺性較好,所以不存在平臺的障礙,也無需配置數(shù)據(jù)源。早期的JDBC由于各大數(shù)據(jù)庫廠商沒有提供較完善的JDBC驅(qū)動器,所以JDBC-ODBC成為一個主要的連接方式,但是現(xiàn)在不存在這種問題,只有Access數(shù)據(jù)庫必須采用JDBC-ODBC方式橋接。請說明BorderLayout布局的特點。如果希望在BorderLayout布局的容器中放入多于5個的控件,那么需要如何處理?嵌套JPanel當(dāng)應(yīng)用程序需要配置文件時,既可以采用Properties屬性文件、也可以采用XML文件。請簡要分析它們各自的特點。Properties屬性文件缺點:1、無法直接使用中文編碼2、無法表現(xiàn)樹形結(jié)構(gòu)、數(shù)組結(jié)構(gòu)等復(fù)雜數(shù)據(jù)結(jié)構(gòu)優(yōu)點:1、書寫簡單方便2、程序讀取簡單XML文件優(yōu)點:1.可拓展性xml中標(biāo)記可以由程序員自己定義。2.xml與內(nèi)容與形式的別離〔1〕顯示方式內(nèi)嵌于數(shù)據(jù)當(dāng)中〔2〕數(shù)據(jù)庫搜索可以簡單高效率的運行〔3〕XML是自我描述語言3.遵守嚴(yán)格的語法要求缺點:1.在數(shù)據(jù)中尋找信息非常困難〔樹狀存儲雖然搜索效率高但是插入和修改比較困難〕2.數(shù)據(jù)自身邏輯不得不讓位于HTML語言3.大數(shù)據(jù)量低效率4.XML文檔做為數(shù)據(jù)提供者使用,沒有數(shù)據(jù)庫系統(tǒng)那樣完善的管理功能5通信難,由于XML是元置標(biāo)語言,任何人、公司和組織都可以利用它定義新的標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)間的通信就成了巨大的問題MVC是什么?請簡要說明它的特點。MVC全名是ModelViewController,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計典范,用于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示別離的方法,這個方法的假設(shè)前提是如果業(yè)務(wù)邏輯被聚集到一個部件里面,而且界面和用戶圍繞數(shù)據(jù)的交互能被改進和個性化定制而不需要重新編寫業(yè)務(wù)邏輯MVC被獨特的開展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中。請簡述JavaSwing/AWT的事件處理機制〔說明事件源、事件監(jiān)聽器、以及它們的關(guān)系〕。Page.322請舉例說明什么情況下需要使用多線程。1、使用線程可以把占據(jù)時間長的程序中的任務(wù)放到后臺去處理2、用戶界面可以更加吸引人,這樣比方用戶點擊了一個按鈕去觸發(fā)某些事件的處理,可以彈出一個進度條來顯示處理的進度3、增加算法效率4、在一些等待的任務(wù)實現(xiàn)上如用戶輸入、文件讀寫和網(wǎng)絡(luò)收發(fā)數(shù)據(jù)等,線程就比較有用了。在這種情況下可以釋放一些珍貴的資源如內(nèi)存占用等等。得分二.__論述題__(本大題共__3__題,每題_15_分,共__45_分。)1.Java集合框架中有List、Set、Map等接口,請分析答復(fù)以下問題:〔1〕請分別說明上述三個接口的實現(xiàn)類的特點?!?〕請分析比較一下如何選用上述三個接口的實現(xiàn)類,即什么情況下選用List實現(xiàn)類,什么情況下應(yīng)該使用Set實現(xiàn)類,什么情況下使用Map實現(xiàn)類。〔3〕使用接口變量操作集合對象有何優(yōu)點和缺點?比方,以下兩行代碼都各自有何優(yōu)缺點?Lista=newArrayList();//用List接口類型變量a來訪問ArrayList對象ArrayListb=newArrayList();//用ArrayList類型變量b來訪問ArrayList對象〔1〕List特點:元素有放入順序,元素可重復(fù)
Map特點:元素按鍵值對存儲,無放入順序
Set特點:元素?zé)o放入順序,元素不可重復(fù)〔注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的HashCode決定的,其位置其實是固定的〕〔2〕List實現(xiàn)類:元素可重復(fù)且有序的情況下;Set實現(xiàn)類:元素不可重復(fù)且無需的情況下;Map實現(xiàn)類:需要存儲鍵值對的情況下?!?〕方式1:利用Java繼承的機制,隱藏了List實現(xiàn)類的細(xì)節(jié),讓使用者無需考慮List接口的具體實現(xiàn)方式,有利于代碼的維護〔一個簡單的例子,如需更換List的實現(xiàn)類,只需修改在創(chuàng)立對象的那一句代碼〕,缺點就是無法調(diào)用ArrayList擴展的方法,例如方法trimToSize();方式2:直接把ArrayList這個實現(xiàn)類耦合進代碼,不利于代碼的維護。優(yōu)點就是可以調(diào)用ArrayList擴展的方法。根據(jù)具體情況選擇相應(yīng)的方式。
2.關(guān)于OR映射,請答復(fù)以下問題:〔1〕什么是OR映射?OR映射有何用途?〔2〕請簡要說明OR映射的根本原理。〔3〕訪問數(shù)據(jù)庫既可以通過OR映射方式,也可以直接通過JDBC。請分析比較兩種訪問方式的優(yōu)缺點?(1)OR映射即對象關(guān)系映射,O為Object即面向?qū)ο蟪绦蛑械膶ο?,R為Relation即關(guān)系數(shù)據(jù)庫。使用OR映射的編程方法使得Java程序員可以使用對象編程思維來操縱數(shù)據(jù)庫,使得程序設(shè)計得更加精煉易于理解與修改,把復(fù)雜的SQL語句與業(yè)務(wù)邏輯解耦,使得程序更符合高內(nèi)聚低耦合的設(shè)計思想。(2)創(chuàng)立與數(shù)據(jù)庫表對應(yīng)的實體類(Entity或Object),設(shè)置相應(yīng)的域于數(shù)據(jù)庫表的屬性做映射,然后設(shè)置get/set方法,然后封裝操作SQL語句〔查刪改〕到對應(yīng)的DAO
(DataAccessObjects數(shù)據(jù)訪問對象)中,由這兩種對象構(gòu)成即為數(shù)據(jù)持久層,封裝了底層數(shù)據(jù)操作細(xì)節(jié),提供相應(yīng)的接口給業(yè)務(wù)邏輯層使用,分工明確,表達了高內(nèi)聚低耦合的思想。(3)OR映射:采用低耦合高內(nèi)聚的設(shè)計思想,分別封裝了數(shù)據(jù)、數(shù)據(jù)訪問以及業(yè)務(wù)邏輯,雖然程序設(shè)計會變得更為復(fù)雜,但是從長期的擴展性、健壯性、可理解性來說,這樣的付出是值得的,尤其是在大型工程中顯得尤為必要。JDBC:直接使用JDBC接口操縱數(shù)據(jù)庫,使得程序模式簡單,而且效率會比OR映射略高,更易于性能和存儲的優(yōu)化等,但是在復(fù)雜的工程中使得數(shù)據(jù)庫操作和業(yè)務(wù)邏輯耦合在一起,變的難以調(diào)試,所以適合小型工程、業(yè)務(wù)邏輯簡單的工程。
3.關(guān)于Java網(wǎng)絡(luò)編程,請答復(fù)以下問題:〔1〕在使用TCP協(xié)議進行網(wǎng)絡(luò)編程時,需要使用哪些關(guān)鍵類〔包括偵聽、數(shù)據(jù)傳送時所涉及的核心類〕?并請簡要描述這些類的用途。〔2〕在使用UDP協(xié)議進行網(wǎng)絡(luò)編程時,需要使用哪些關(guān)鍵類〔包括偵聽、數(shù)據(jù)傳送時所涉及的核心類〕?并請簡要描述這些類的用途?!?〕請簡要說明上述兩種網(wǎng)絡(luò)通信方式的各自優(yōu)缺點。(1)ServerSocket:此類實現(xiàn)效勞器套接字。效勞器套接字等待請求通過網(wǎng)絡(luò)傳入。它基于該請求執(zhí)行某些操作,然后可能向請求者返回結(jié)果。Socket:此類實現(xiàn)客戶端套接字〔也可以就叫“套接字〞〕。套接字是兩臺機器之間的通信端點。(2)DatagramSocket:此類表示用來發(fā)送和接收數(shù)據(jù)報包的套接字。DatagramPacket:此類表示UDP數(shù)據(jù)報包。(3)1、TCP是基于連接的,UDP是基于無連接2、對系統(tǒng)資源的要求〔TCP較多,UDP少〕3、UDP程序結(jié)構(gòu)較簡單4、流模式與數(shù)據(jù)報模式5、TCP保證數(shù)據(jù)正確性,UDP可能丟包,TCP保證數(shù)據(jù)順序,UDP不保證得分三.__編程題__(本大題共__2__題,每題__10_分,共___20__分。)1.設(shè)計一個線程類,該線程類可以執(zhí)行長時間任務(wù),并且可以被中途終止。要求如下:該線程類的類名為TaskThread,為Thread的子類。該線程類中有一個excuteTask方法〔為實例方法〕,該方法用于模擬一種操作〔比方壓縮文件操作〕,具體實現(xiàn)代碼可以用注釋方式說明,無需實現(xiàn)。線程啟動執(zhí)行時,在run方法中可以循環(huán)調(diào)用上述excuteTask方法。換言之,線程所執(zhí)行的長時間任務(wù)就是對excuteTask方法的循環(huán)調(diào)用。該線程類有一個stopTask方法〔為實例方法〕。stopTask方法被調(diào)用后,可以終止線程的執(zhí)行〔即終止循環(huán)〕。publicclassTaskThreadextendsThread{ privatebooleanisExit;//退出標(biāo)志 publicvoidexcuteTask(){ //dosomething try{ Thread.sleep(10); }catch(InterruptedExceptione){ e.printStackTrace(); } System.out.println("dosomething"); } @Override publicvoidrun(){ System.out.println("TaskThreadbegin"); while(!isExit){ this.excuteTask(); } System.out.println("TaskThreadstop"); } publicvoidstopTask(){ this.isExit=true; } publicstaticvoidmain(String[]args){ TaskThreadtaskThread=newTaskThread(); taskThread.start(); try{ Thread.sleep(100); }catch(InterruptedExceptione){ e.printStackTrace(); } taskThread.stopTask(); }}實現(xiàn)撥號器程序,界面如下:設(shè)計要求如下:設(shè)計一個MyTelephone類,該類從JFrame繼承。窗體的尺寸大小是:寬500,高300。在主窗體的中央?yún)^(qū)域放入一個JPanel容器,該容器使用GridLayout布局,共有12個JButton按鈕,各按鈕排放位置如上圖所示。在主窗體的南方區(qū)域放入1個JLabel對象。當(dāng)點擊按鈕時,可以將點擊的按鈕所對應(yīng)的數(shù)字填入JLabel中。比方,圖中的“1338899999〞就是依次點擊“1〞、“3〞、“3〞、“8〞、“8〞、“9〞、“9〞、“9〞、“9〞、“9〞等按鈕后顯示的號碼。importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;publicclassMyTelephoneextendsJFrameimplementsActionListener{ privateJLabelnumLabel=newJLabel(); publicMyTelephone(){ this.setSize(500,300); JPanelnumPanel=newJPanel(); numPanel.setLayout(newGridLayout(4,3)); JButton
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公模式下的軟件盜版防范策略研究
- 國慶節(jié)活動團購活動方案
- 生態(tài)旅游規(guī)劃的核心策略案例研究報告
- Unit 2 My family(Period 4)(說課稿)-2024-2025學(xué)年人教大同版(2024)英語三年級上冊
- 12 盤古開天地 (說課稿)-2024-2025學(xué)年統(tǒng)編版語文四年級上冊
- 21三黑和土地 (說課稿)-2024-2025學(xué)年六年級上冊語文統(tǒng)編版
- 14文言文二則《兩小兒辯日》(說課稿)-2023-2024學(xué)年統(tǒng)編版語文六年級下冊
- 2024年五年級數(shù)學(xué)上冊 5 簡易方程第16課時 實際問題與方程(5)配套說課稿 新人教版
- 2024-2025學(xué)年高中物理 第10章 熱力學(xué)定律 4 熱力學(xué)第二定律說課稿1 新人教版選修3-3
- 2025道路綠化養(yǎng)護委托合同
- 2025民政局離婚協(xié)議書范本(民政局官方)4篇
- 2024年03月四川農(nóng)村商業(yè)聯(lián)合銀行信息科技部2024年校園招考300名工作人員筆試歷年參考題庫附帶答案詳解
- 小學(xué)一年級數(shù)學(xué)上冊口算練習(xí)題總匯
- 睡眠專業(yè)知識培訓(xùn)課件
- 潤滑油知識-液壓油
- 2024年江蘇省中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 臨床思維能力培養(yǎng)
- 人教版高中物理必修第三冊第十章靜電場中的能量10-1電勢能和電勢練習(xí)含答案
- 2024年四川省巴中市級事業(yè)單位選聘15人歷年高頻難、易錯點練習(xí)500題附帶答案詳解
- 《中國香文化》課件
- 蓋房四鄰簽字協(xié)議書范文
評論
0/150
提交評論