版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.J2EE是什么?它包括哪些技術(shù)?
解答:隊(duì)整體上講,J2EE是使用Java技術(shù)開發(fā)企業(yè)級(jí)應(yīng)用的工業(yè)標(biāo)準(zhǔn),它是Java
技術(shù)不斷適應(yīng)和促戰(zhàn)企業(yè)級(jí)應(yīng)用過程中的產(chǎn)物。適.用于企業(yè)級(jí)應(yīng)用的J2EE,提
供一個(gè)平臺(tái)獨(dú)立的、可移植的、多用戶的、安全的和基于標(biāo)準(zhǔn)的企業(yè)級(jí)平臺(tái),隊(duì)
而簡化企業(yè)應(yīng)用的開發(fā)、管理和部署。J2EE是一個(gè)標(biāo)準(zhǔn),而不是一個(gè)現(xiàn)成的產(chǎn)
品O
主要包括以下這些技術(shù):
1)ServletServlet是Java平臺(tái)上的CGI技術(shù)。Servlet在服務(wù)器端運(yùn)行,動(dòng)杰地生
成Web頁面。與傳統(tǒng)的CGI和許多其它類似CGI的技術(shù)相比,JavaServlet具有
更高的效率并更京易使用。對(duì)于Servlet,重復(fù)的請(qǐng)求不會(huì)導(dǎo)致同一程序的多次轉(zhuǎn)
我,它是依靠線程的方式來支持并發(fā)訪問的。2)JSPJSPQavaServerPage)是一種
實(shí)現(xiàn)普通靜出HTML和動(dòng)杰頁面輸出混合編碼的技術(shù)。從這一點(diǎn)來看,非常類
-toMicrosoftASP,PHP等技術(shù)。借助形式上的內(nèi)參和外觀表現(xiàn)的分寓,Web頁
面制作的任務(wù)可以比較方便地劃分給頁面設(shè)計(jì)人員和程序員,并方便地通過JSP
來合成。在運(yùn)行時(shí)杰,JSP將會(huì)被首先轉(zhuǎn)換成Servlet,并以Servlet的形杰編澤
運(yùn)行,因此它的效率和功能與Servlet相比沒有差別,一樣具有很高的效率。3)
EJBEJB定義了一組可重用的組件:EnterpriseBeanso開發(fā)人員可以利用這些組
件,像搭東木一樣建立分布式應(yīng)用。4)JDBCJDBC(JavaDatabaseConnectivity,
Java數(shù)據(jù)庫連接)API是一個(gè)標(biāo)準(zhǔn)SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語
言)數(shù)據(jù)庫訪問接。,它使數(shù)據(jù)庫開發(fā)人員能夠用標(biāo)準(zhǔn)JavaAPI編寫數(shù)據(jù)庫應(yīng)用
程序。JDBCAPI主要用來連接數(shù)據(jù)庫和直接調(diào)用SQL命令執(zhí)行各種SQL語句。
利用JDBCAPI可以執(zhí)行一般的SQL語句、動(dòng)出SQL語句及帶IN和OUT參數(shù)
的存儲(chǔ)過程。Java中的JDBC相當(dāng)于Microsoft平臺(tái)中的ODBC(OpenDatabase
Connectivity)o
2.測試生命周期、測試過程分為幾個(gè)階段,以及各階段的含義?
解答:軟件測試生命周期一般包括6個(gè)階段:\)計(jì)劃2)分析,3)設(shè)計(jì),4)
構(gòu)建,5;測試周期,6)最后測試和實(shí)施,
U計(jì)劃:產(chǎn)品定義階段
2).分析:外部文檔階段
3).設(shè)計(jì):文檔架構(gòu)階段
4).構(gòu)建:單元測試階段
5).測試周期:錯(cuò)誤修正,重復(fù)系統(tǒng)測試階段
6).最后的測試和實(shí)施:代碼凍結(jié)階段
4.什么是Web家器?
解答:參器就是一種服務(wù)程序,在服務(wù)器一個(gè)端口就有一個(gè)提供相應(yīng)服務(wù)的程序,
而這個(gè)程序就是處理從客戶端發(fā)出的請(qǐng)求,如JAVA中的Tomcat參器,ASP的
IIS或PWS都是這樣的家器。
5.運(yùn)行時(shí)并常與一般異常有何異同?
解答:異常表示程序運(yùn)行過程中可能出現(xiàn)的非正常狀忠,運(yùn)行時(shí)并常表示虛擬機(jī)
的通常操作中可能遇.到的異君,是一種常見運(yùn)行錯(cuò)誤。java編澤器要求方法必須
聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被椅獲的運(yùn)行
時(shí)異帝。
6.Hibernate中:不看數(shù)據(jù)庫,不看XML文件,不看查詢語句,怠么樣能
知道表結(jié)構(gòu)?
解答:可以看與XML文件對(duì)應(yīng)的域模型。
7.目前幾種主流數(shù)據(jù)庫軟件的應(yīng)用特點(diǎn)、適用范囹各是什么?
解答:國際國內(nèi)的主導(dǎo)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)有SQLServer.ORACLE,
SYBASE.INFORMIX和DB2。本文隊(duì)性能,可伸縮性和并行性,安全性,操
作簡便,使用風(fēng)險(xiǎn),開放性,易維護(hù)性和價(jià)格,數(shù)據(jù)庫二次開發(fā)方面比較了SQL
Server,Oracle.SYBASE.DB2.INFORMIX數(shù)據(jù)庫:
。性能
SQLServer:老版本多用戶時(shí)性能不佳,新版本的性能有了明顯的改善,各項(xiàng)處
理能力都有了明顯的提高。保持了多項(xiàng)TPC-C(TPC-C值被廣泛用于衡量C/S
環(huán)境下,由服務(wù)器和客戶赭構(gòu)筑的整體條統(tǒng)的性能,它由事物處理性能委員會(huì)
(TPC,Transact沁nProcessingCorpJ制定,TPC為非贏利性國際組織。)紀(jì)錄。
Oracle:性能最高,保持WindowsNT下的TPC-C的世界記錄。SYBASE:
性能較高,支持Sun、IBM,HP、Compaq和Veritas的集群設(shè)備的特性,實(shí)現(xiàn)高
可用性。適應(yīng)于安全性要求極高的系統(tǒng)。DB2:適.用于數(shù)據(jù)倉庫和在線事物處
理,性能較高。客戶赭支持及應(yīng)用模式。INFORMIX:性能較高,支持集群,
實(shí)現(xiàn)高可用性。適應(yīng)于安全性要求極高的系統(tǒng),尤其是銀行,證家余統(tǒng)的應(yīng)用。
2)可伸縮性,并行性SQLServer:以前版本SQLServer并行實(shí)施和共存模型并
不成熟。很難處理大量的用戶數(shù)和數(shù)據(jù)卷。伸縮性有P艮。新版本性能有了較大的
改善,在MicrosoftAdvancedServers上有突出的表現(xiàn),超過了他的主要競爭對(duì)手。
Oracle:平行服務(wù)器通過使一組結(jié)點(diǎn)共享同一震中的工作來才■展WindowNT的
能力,提供高可用性和高伸縮性的貌的解決方去。如果WindowsNT不能滿足需
要,用戶可以杷數(shù)據(jù)庫移到UNIX中,具有很好的伸縮性。SYBASE:新版本
具有較好的并行性,速度快,對(duì)巨量數(shù)據(jù)無明顯影響,但是技術(shù)實(shí)現(xiàn)復(fù)雜,需要
程序支持,伸縮性有限。DB2:DB2具有很好的并行性。DB2杷數(shù)據(jù)庫管理
赤充到了并行的、多節(jié)點(diǎn)的環(huán)境。數(shù)據(jù)庫分區(qū)是數(shù)據(jù)庫的一部分,包含自己的教
據(jù)、索引、配置文件、和事務(wù)官志。數(shù)據(jù)埠分區(qū)有時(shí)被稱為節(jié)點(diǎn)或數(shù)據(jù)庫節(jié)點(diǎn),
伸縮性有限。INFORMIX:集用單戰(zhàn)程多線程的技術(shù),具有較好的并行性。但
是僅運(yùn)行于UNIX平臺(tái),伸縮性有F艮。3)安全性SQLserver:MicrosoftAdvanced
Server獲得最高安全認(rèn)證,服務(wù)器平臺(tái)的稔定性是數(shù)據(jù)庫的穩(wěn)定性的基礎(chǔ),新
版本的SQL的安全性有了極大的提高。Oracle:獲得最高認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)
認(rèn)證。SYBASE:通過Sun公司J2EE認(rèn)證測試,獲得最高認(rèn)證級(jí)別的ISO標(biāo)
準(zhǔn)認(rèn)證。DB2:獲得最高認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)認(rèn)證。INFORMIX:獲得最高
認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)認(rèn)證。4)操作簡便SQLServer:操作簡單,條用圖形界而。
管理也很方便,而且編程接。特別友好(它的SQL-DMO讓編程變得非?常方便?。?,
隊(duì)易維護(hù)性和價(jià)格上SQLServer明顯占有優(yōu)勢。Oracle:較復(fù)雜,同時(shí)提供GUI
和命令行,在WindowsNT和Unix,Linux下操作相同。對(duì)數(shù)據(jù)庫管理人員要
求較高。SYBASE:復(fù)雜,使用命令行操作,對(duì)數(shù)據(jù)庫管理人員要求較高。
DB2:操作簡單,同時(shí)提供GUI和命令行,在WindowsNT和Unix下操作相同。
INFORMIX:使用和管理復(fù)雜,命令行操作。對(duì)數(shù)據(jù)庫管理人員要求較高。5)
使用風(fēng)險(xiǎn)SQLServer:完全重寫的代碼,性能和兼家性有了較大的提高,與
Oracle,DB2的性能差距明顯減小。該產(chǎn)品的出臺(tái)經(jīng)歷了長期的測試,為產(chǎn)品的
安全和穩(wěn)定進(jìn)行了全面的檢測,安全穩(wěn)定性有了明顯的提高。Oracle:長時(shí)間
的開發(fā)經(jīng)驗(yàn),完全向下兼家,可以安全的此行數(shù)據(jù)庫的升級(jí),在企業(yè),政府中得
到廣泛的應(yīng)用。并且如果在WINNT上無法滿足數(shù)據(jù)的要求,可以安全的把數(shù)據(jù)
轉(zhuǎn)移到UNIX上來。
SYBASE:開發(fā)時(shí)間較長,升級(jí)較復(fù)雜,稔定性較好,數(shù)據(jù)安全有保障。風(fēng)險(xiǎn)
小。在安全要求板高的銀行,證家行業(yè)中得到了廣泛的應(yīng)用。DB2:在巨型企
業(yè)得到廣泛的應(yīng)用,向下兼家性好。風(fēng)險(xiǎn)小。INFORMIX:開發(fā)時(shí)間較長,升
級(jí)較復(fù)雜,稔定性較好,數(shù)據(jù)安全有保障。風(fēng)險(xiǎn)小。在安全要求板高的銀行,證
家行業(yè)中得到了廣辿的應(yīng)用。6)開放性SQLServer:只能在Windows上運(yùn)行,
C/S結(jié)構(gòu),只支持Windows客戶,可以用ADO,DAO,OLEDB,ODBC連接。
Windows9X系列產(chǎn)品是偏重于桌面應(yīng)用,NTserver適合各種大中小型企業(yè)。操
作系統(tǒng)的稔定對(duì)數(shù)據(jù)庫是十分重要的。Windows平臺(tái)的可點(diǎn)性,安全性經(jīng)過了最
高級(jí)別的C2認(rèn)證的。在處理大數(shù)據(jù)量的關(guān)穗業(yè)務(wù)時(shí)提供了較好的性能。Oracle:
能在所有主流平臺(tái)上運(yùn)行(包括WindowsJo完全支持所有的工業(yè)標(biāo)準(zhǔn)。集用完
全開放策略。多層次網(wǎng)絡(luò)計(jì)算,支特多種工業(yè)標(biāo)準(zhǔn),可以用ODBC,JDBC,OCI
等網(wǎng)絡(luò)客戶連接??梢允箍蛻暨x擇最適合的解決方案。對(duì)開發(fā)商全力支持。
SYBASE:能在所有主流平臺(tái)上運(yùn)行,在銀行業(yè)中得到了廣泛的應(yīng)用。DB2:
有較好的開放性,景適.于海量數(shù)據(jù)。躋平臺(tái),多層結(jié)構(gòu),支持ODBC,JDBC等客
戶。在大型的國際企業(yè)中得到最為廣泛的應(yīng)用,在全球的500家最大的企業(yè)中,大
部分集用DB2數(shù)據(jù)庫服務(wù)器。IINFORMIX:伍運(yùn)行在UNIX平臺(tái),包括SUNOS、
HPUX、ALFAOSF/1。在銀行中得到廣泛的應(yīng)用。7)易維護(hù)性和價(jià)格SQL
Server:從易維護(hù)性和價(jià)格上SQLServer明顯占有優(yōu)勢?;贛icrosoft的一貫風(fēng)
格,SQLServer的圖形管理界面帶來了明顯的易用性,微軟的數(shù)據(jù)庫管理員培
訓(xùn)此行的比較充分,可以輕松的找到很好的數(shù)據(jù)庫管理員,數(shù)據(jù)庫管理希用比較
低,SQLServer的價(jià)格也是很低的,但是在License的購買上會(huì)抬高價(jià)格??傮w
來說SQLServer的價(jià)格在商用數(shù)據(jù)庫中是最低的。Oracle:從易維護(hù)性和價(jià)格上
來說Oracle的價(jià)格是比較高的,管理比較復(fù)雜,由于Oracle的應(yīng)用很廣泛,經(jīng)
驗(yàn)豐富的Oracle數(shù)據(jù)庫管理員可以比較親易的找到,從而實(shí)現(xiàn)Oracle的盟好管
理。因此Oracle的性能價(jià)格比在商用數(shù)據(jù)庫中是最好的。SYBASE:SYBASE
的價(jià)格是比較低的,但是SYBASE的在企業(yè)和政府中的應(yīng)用較少,很難找到經(jīng)
驗(yàn)豐富的管理員,運(yùn)行管理去用較高。
DB2:價(jià)格高,管理員少,在中國的應(yīng)用較少,運(yùn)行管理費(fèi)用都很高,適用于大
型企業(yè)的數(shù)據(jù)倉庫應(yīng)用。INFORMIX:價(jià)格在這些系統(tǒng)中居于中間,與SYBASE
一樣,在企業(yè)和政府中應(yīng)用較少,僅在銀行中得
到了廣泛的應(yīng)用。經(jīng)驗(yàn)豐富的管理人員較少,運(yùn)行管理賽用高。8)數(shù)據(jù)庫二次
開發(fā)SQLServer:教據(jù)庫的二次開發(fā)工具很多,包括VisualC++,VisualBasic等
開發(fā)工具,可以實(shí)現(xiàn)很好的Windows應(yīng)用,開發(fā)參易。Oracle:數(shù)據(jù)庫的二次開
發(fā)工具很多,涵蓋了數(shù)據(jù)庫開發(fā)的各個(gè)階段,開發(fā)家易。SYBASE:開發(fā)工具較
少,經(jīng)驗(yàn)豐富的人員很少。DB2:我國外巨型企業(yè)得到廣泛的應(yīng)用,中國的經(jīng)驗(yàn)
豐富的人員很少。INFORMIX:在銀行業(yè)中得到廣泛的應(yīng)用,但是在中國的經(jīng)驗(yàn)
豐富的人員很少。
8.存儲(chǔ)過程和函數(shù)的區(qū)別
解答:隊(duì)參數(shù)的返回情況來看:
如果返回多個(gè)參數(shù)值最好使用存儲(chǔ)過程,如果只有一個(gè)返回值的話可以使用函
教。
隊(duì)調(diào)用情況來看:
如果在SQL語句(DML或SELECT)中調(diào)用的話一定是存儲(chǔ)函數(shù)或存儲(chǔ)的封裝
函數(shù)不可以是存儲(chǔ)過程,但調(diào)用存儲(chǔ)函數(shù)的時(shí)候還有好多限制以及函數(shù)的純度等
級(jí)的問題,如梟是在過程化語句中調(diào)用的話,就要看你要實(shí)現(xiàn)什么樣的功能。的
數(shù)一般情況下是用來計(jì)算并返回一個(gè)計(jì)算結(jié)果而存儲(chǔ)過程一般是用來完成特定
的數(shù)據(jù)操作(比如修改、插入數(shù)據(jù)庫表或執(zhí)行某些DDL語句等等人所以雖.然他
們的語法上很相似但用戶在使用他們的時(shí)候所需要完成的功能大部分情況下是
不同的。
9.試述數(shù)據(jù)庫完整保護(hù)的主要任務(wù)和措施。
解答:數(shù)據(jù)庫的完整性保護(hù)也就是數(shù)據(jù)庫中數(shù)據(jù)正確性的維護(hù)。數(shù)據(jù)庫完整性包
括三個(gè)內(nèi)衣:實(shí)體完整性規(guī)則,參照物完整性規(guī)則以及用戶定義完整性規(guī)則。前
兩個(gè)是有DBMSt動(dòng)處理。
實(shí)體完整性規(guī)則是說針對(duì)于基表中的關(guān)鍵字中屬性值不能為?史值,是數(shù)據(jù)庫完整
性的基本要求,主關(guān)鍵字和元組的唯一性對(duì)應(yīng)。
參照物完整性規(guī)則是不允許引用不存在的元組:即基表中的外關(guān)鍵字要么為全,
要么關(guān)浜基表中必存在元組。
用戶定義完整性規(guī)則針對(duì)具體的數(shù)據(jù)環(huán)境由用戶具體設(shè)置的規(guī)則,它反應(yīng)了具體
應(yīng)用中的語義要求。一個(gè)完整性規(guī)則一般由下面三部分組成:完整性約束條件設(shè)
置,完整性約束條件的檢查以及完整性約束條件的處理.后兩部分在數(shù)據(jù)庫中一般
有相應(yīng)的模塊處理。另外觸發(fā)器也可以做完整性的保護(hù),但觸發(fā)器大量用于主動(dòng)
性領(lǐng)域O
10.請(qǐng)說明SQLServer中deletefromtablea&truncatetabletablea的區(qū)別
解答:兩者都可以用來刪除表中所有的記錄。區(qū)別在于:truncate是DDL操作,
它移動(dòng)HWK,使HWK值為0,不需要rollbacksegment.而Delete是DML操作
需要rollbacksegment且花轎較長時(shí)間.
11.Oracle安裝完成后,如何用命令行啟動(dòng)和關(guān)閉數(shù)據(jù)庫?
解答:
打開:STARTUP[FORCE][RESTRICT][PFILE=filename][OPEN
[RECOVER][database]IMOUNTINOMOUNT]STARTUPOPEN:STARTUP缺
點(diǎn)的參數(shù)就是OPEN,打開數(shù)據(jù)庫,允許數(shù)據(jù)庫的訪問。當(dāng)前實(shí)例的控制文件中
所描述的所有文件都已經(jīng)打開。STARTUPMOUNT:MOUNT數(shù)據(jù)庫,瓜瓜給
DBA遂行管理掾作,不允許數(shù)據(jù)庫的用戶訪問。僅僅只是當(dāng)前實(shí)例的控制文件
被打開,數(shù)據(jù)文件未打開。STARTUPNOMOUNT:僅僅通過初始化文件,分
配出SGA區(qū),啟動(dòng)數(shù)據(jù)庫后臺(tái)戰(zhàn)程,沒有打開控制文件和數(shù)據(jù)文件。不能訪問
任何數(shù)據(jù)埠。STARTUPPFILE=filename:以filename為初始化文件啟動(dòng)數(shù)據(jù)庫,
不是集用缺省初始化文件。STARTUPFORCE:中止當(dāng)前數(shù)據(jù)庫的運(yùn)行,并開
始重新正常的啟動(dòng)數(shù)據(jù)庫。STARTUPRESTRICT:只允許具有RESTRICTED
SESSION權(quán)限的用戶訪問數(shù)據(jù)庫。STARTUPRECOVER:數(shù)據(jù)庫啟動(dòng),并開始
介質(zhì)恢復(fù)關(guān)閉
SHUTDOWN有四個(gè)參數(shù):NORMAL,TRANSACTIONAL,IMMEDIATE,
ABORTo缺點(diǎn)不帶任何參數(shù)時(shí)表示是NORMAL。
命令SHUTDOWNNORMAL:不允許新的連接、等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、
做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。SHUTDOWN
TRANSACTIONAL:不允許新的連接、不等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、做一
個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。SHUTDOWNIMMEDIATE:
不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)
文件。沒有結(jié)束的事務(wù)是自動(dòng)rollback的。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。SHUTDOWN
ABORT:不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、不做檢查點(diǎn)且
沒有關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)自動(dòng)或行實(shí)例恢復(fù)。另外,對(duì)于NORMAL,
TRANSACTIONAL,IMMEDIATE,DBBufferCache的內(nèi)緣寫入了數(shù)據(jù)文件,
沒有提交的事務(wù)被回滾,所有的資源被釋放,數(shù)據(jù)庫被“干凈”的關(guān)閉。對(duì)于
ABORT,DBBufferCache的內(nèi)裒?沒有與人數(shù)據(jù)文件,沒有提交的事務(wù)也沒有回
滾。數(shù)據(jù)庫沒有dismount和關(guān)閉,數(shù)據(jù)文件也沒有關(guān)閉。當(dāng)數(shù)據(jù)庫啟動(dòng)時(shí),需
要通過redolog恢復(fù)數(shù)據(jù),通過回滾段對(duì)事務(wù)回滾,對(duì)資源遂行釋放。
12.類有哪三個(gè)基本特性?各特性的優(yōu)點(diǎn)?
解答:類具有封裝性、繼承性和多忍性。
封裝性:類的封裝性為類的成員提供公有、缺酒、保護(hù)和私有等多級(jí)訪問權(quán)限,
目的是隱菽類中的私有變量和類中方法的實(shí)現(xiàn)細(xì)節(jié)。
繼承性:類的繼承性提供從已存在的類創(chuàng)建新類的機(jī)制,繼承(inheritanceJ使
一個(gè)新類自動(dòng)擁有被繼承類(父類)的全部可繼承的成員。
多出性:類的多態(tài)性提供類中方法執(zhí)行的多樣性,多態(tài)性有兩種表現(xiàn)形式:重我
和覆蓋°
13.談淡對(duì)XML的理解?說明Web應(yīng)用中Web.xml文件的作用?
解答:XML(ExtensibleMarkupLanguage^即可#費(fèi)標(biāo)記語言,它與HTML—
樣,都是SGML(StandardGeneralizedMarkupLanguage,標(biāo)準(zhǔn)通用標(biāo)記語言)。Xml
是Internet環(huán)境中除平臺(tái)的,依賴于內(nèi)裒?的技術(shù),是當(dāng)前處.理結(jié)構(gòu)化文檔信息的
有力工具。獷展標(biāo)記語言XML是一種簡單的數(shù)據(jù)存儲(chǔ)語言,使用一架列簡單的
標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二
進(jìn)制數(shù)據(jù)要占用更多的無間,但XML極其簡單易于掌握和使用。
web.xml的作用是配置歡迎頁,servlet,filter,listener等的。
i4.jsp有哪些內(nèi)置對(duì)象?作用分別是什么?r至少三個(gè))
解答:
1)request表示HttpServletRequest對(duì)象。它包含了有關(guān)瀏覽器請(qǐng)求的信息,并且
提供了幾個(gè)用于獲取cookie,header和session數(shù)據(jù)的有用的方法。2)response
表示HttpServIetResponse對(duì)象,并提供了幾個(gè)用于設(shè)置送回瀏覽器的響應(yīng)的方
法(如cookies,頭信息等)。3Jout對(duì)象是javax.jsp.JspWriter的一個(gè)實(shí)例,并提
供了幾個(gè)方法使你能用于向?yàn)g覽器回送輸出結(jié)果。4)pageContext表示一個(gè)
javax.servlet.jsp.PageContext對(duì)象。它是用于方便存取各種范圍的名字空間、
servlet相關(guān)的對(duì)象的API,并且包裝了通用的servlet相關(guān)功能的方法。5Jsession
表示一個(gè)請(qǐng)求的javax.servlet.http.HttpSession對(duì)象。Session可以存貯用戶的狀忐
信息。6)application表示一個(gè)javax.servle.ServletContext對(duì)象。這有助于查找
有關(guān)servlet引擎和servlet環(huán)境的信息。7)config表示一個(gè)
javax.servlet.ServletConfig對(duì)象。該對(duì)象用于存取servlet實(shí)例的初始化參
教。8Jpage表示從該頁面產(chǎn)生的一個(gè)servlet實(shí)例。
9)exception針對(duì)錯(cuò)誤網(wǎng)頁,未桶版的例外
15.事務(wù)是什么?有哪些屬性,并簡要說明這些屬性的含義。
解答:事務(wù)(Transaction)是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項(xiàng)的一個(gè)程序執(zhí)行
單元(unit)。事務(wù)通常由高級(jí)數(shù)據(jù)庫操紈語言或編程語言(如SQL,C++或Java)
書寫的用戶程序的執(zhí)行所引起,并用形如begintransaction和endtransaction語句
(或舀教調(diào)用)來界定。事務(wù)由事務(wù)開始(begintransaction)和事務(wù)結(jié)束(end
transaction)之間軌行的全體操作組成。
事務(wù)應(yīng)該具有4個(gè)屬性:原子性、一致性、隔離性、持續(xù)性。這四個(gè)屬性通常稱
為ACID特性。
原子性(atomicity;o一個(gè)事務(wù)是一個(gè)不可分割的工作單住,事務(wù)中包括的諸操
作要么都做,要么都不做。
一致性(consistency)。事務(wù)必須是使數(shù)據(jù)庫隊(duì)一個(gè)一致性狀■態(tài)變到另一個(gè)一致
性狀忠。一致性與原子性是密切相關(guān)的。
隔離性(isolationJo一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個(gè)事務(wù)內(nèi)部的操
作及使用的數(shù)據(jù)對(duì)并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相
干擾。
持久性(durability)o持續(xù)性也稱永久性(permanence/指一個(gè)事^^一旦提支,
它對(duì)數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對(duì)
其有任何影響。
16,Collection和Collections的區(qū)別?
解答:Collection是java.util下的接口,它是各種集合的父接。,繼承于它的接
口主要有Set和List;Collections是個(gè)java.util下的類,是針對(duì)集合的幫助類,
提供一條列靜忠方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作。
17.HashMap與TreeMap的區(qū)別?
解答:HashMap通過hashcode對(duì)其內(nèi)家進(jìn)行快速查找,而TreeM叩中所有的元
素都保持著某種固定的順序,如果你需要得到一個(gè)有序的結(jié)梟你就應(yīng)該使用
TreeMap(HashMap中元素的排列順序是不固定的)。
18、ArrayList和Vector的區(qū)別?
解答:同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程不
安全的,不是同步的;數(shù)據(jù)增長:當(dāng)需要增長時(shí),Vector默認(rèn)增長為原來一培,而
ArrayList卻是原來的一半。
19、HashMap和Hashtable的區(qū)別?
斛答:HashMap是Hashtable的較量級(jí)實(shí)現(xiàn)(非戰(zhàn)程安全的實(shí)現(xiàn)人他們都實(shí)現(xiàn)
了Map接。,主要區(qū)別在HashMap允許型(null;鍵值(key),由于非線程安全,
效率上高于HashtableoHashMap允許將null作為一個(gè)entry的key或者value,
而Hashtable不允許。HashMap把Hashtable的contains方法去掉了,改成
containsvalue和containsKeyo因?yàn)閏ontains方法參易讓人引起誤斛。Hashtable
繼承自Dictionary類,而HashMap是Javal.2引進(jìn)的Mapinterface的一個(gè)實(shí)現(xiàn)。
最大的不同是,Hastable的方法是synchronize的,而HashMap不是,在多個(gè)線
程訪問Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap就必須為
之提供同步。
20.請(qǐng)說出ArrayList,Vector,LinkedList的存儲(chǔ)性能和特性
解答:ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際
存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元
素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于
使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList
使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要遂行前向或后向遍歷,但是插入教
據(jù)時(shí)只需要記錄本項(xiàng)的前■后項(xiàng)即可,所以插入速度較快。
21.描述J2EE框架的多層結(jié)構(gòu),并簡要說明各層的作用。
解答:
1)Presentationlayerf表示層)
a.表示緣鈣(生成界面代碼)
b.接收請(qǐng)求
c.處理業(yè)務(wù)層拋出的異常
d.負(fù)責(zé)規(guī)則驗(yàn)證(數(shù)據(jù)格式,數(shù)據(jù)非空等)
已流程控制
2)Servicelayer(服務(wù)層/業(yè)務(wù)層)
a.封裝業(yè)務(wù)逐轉(zhuǎn)處理,并且對(duì)外暴露接。
b.負(fù)責(zé)事務(wù),安全等服務(wù)
3)Persistencelayerf持久屋)
a封裝數(shù)據(jù)訪問的建轉(zhuǎn),暴露接。
b.提供方便的數(shù)據(jù)訪問的方案(查詢語言,API,映射機(jī)制等)
4JDomainlayer(域?qū)樱?/p>
a.業(yè)務(wù)對(duì)象以及業(yè)務(wù)關(guān)系的表示
b.處理簡單的業(yè)務(wù)送輯
c.域?qū)拥膶?duì)象可以穿越表示層,業(yè)務(wù)層,持久層
軟件分層結(jié)構(gòu)使得代碼維護(hù)非帝方便,設(shè)計(jì)明確,各層獨(dú)立,專注自己擅長的領(lǐng)
域。
22.請(qǐng)淡淡對(duì)SOA的認(rèn)識(shí)。
解答:而向服務(wù)的體系結(jié)構(gòu)(Service-OrientedArchitecture,SOA)是一個(gè)組件模
型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義羨好的接
。和契約藤條起來。接。是笑用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)
的硬件平臺(tái)、操作條統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以
一種統(tǒng)一和通用的方式此行交互。
23.簡要楮述如何結(jié)合struts、hibernate、spring開發(fā)Web應(yīng)用?
解答:Struts可以將jsp頁面的表單關(guān)聯(lián)起來,就是把JSP頁面的表單數(shù)據(jù)封裝成
javaBean,這樣的話,在action中你再也不需要使用傳統(tǒng)的
request.getParameter("name");還有struts有—個(gè)控制器,你在struts編程中的控制
器(XxxAction)都是繼承忌的ActionServlet,它能集中處理請(qǐng)求,然后轉(zhuǎn)到相關(guān)的頁
面。還有struts的表單驗(yàn)證組件,不用你與js驗(yàn)證了,只需要你配置一下文件就可
以了。另外struts的令牌機(jī)制可以防表單重復(fù)提交。
Spring是一個(gè)輕量級(jí)家器,非侵入性.包含依賴注入,AOP等。它是為了解決企業(yè)
應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)
允許您選擇使用哪一個(gè)組件,同時(shí)為J2EE應(yīng)用程序開發(fā)提供集成的框架。
Hibernate:它可以讓我們以00的方式操作數(shù)據(jù)庫,這讓我們看到了hibernate的
強(qiáng)大之處,體驗(yàn)到操作數(shù)據(jù)的方便。但hibernate最難眼之處是hibernate的緩存
機(jī)制,而不是以00的方式操作數(shù)據(jù)庫。Hibernate的緩存機(jī)制不外乎是一級(jí)緩
存session,二級(jí)緩存sessionFactory,和第三方緩存如ehcache。也就是hibernate
的最強(qiáng)大的地方是它的緩存,理斛了這個(gè)才能真正的理解hibernate,Hibernate的
命名查詢/命名參數(shù)查詢,就是將hql語句放在一個(gè)單獨(dú)的xml文件之中,它仍
然讓人們以而向?qū)ο蟮姆绞饺ゲ倏v數(shù)據(jù),而不用在以00的方式寫著代瑪?shù)耐?/p>
時(shí),然后再轉(zhuǎn)變思維,用面向關(guān)東的方式去寫那些sql語句。但hibernate不僅做
了這些,它的nativesql查詢方式,完全滿足sql語句的偏愛者,它像ibatis一樣,
將sql語句放在犯置文件之中。
24.說明反轉(zhuǎn)控制(10C)和面向方向編程(AOPJ在spring中的應(yīng)用
解答:Spring核心怠器(CoreJ提供Spring框架的基本功能。核心參器的主要
組件是BeanFactory,它是工廠模式的實(shí)現(xiàn)。BeanFactory使用控制反轉(zhuǎn)flocj模
式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用代碼程序分開。Spring的聲明式
事務(wù)基于AOP實(shí)現(xiàn),卻并不需要程序開發(fā)者成為AOP專家,亦可輕易使用Spring
的聲明式事務(wù)管理。
25.請(qǐng)看如下片段:
<setname="address”
lazy="true”
inverse="false”
cascade=all-delete-orphann>
<keycolumn="USERID"></key>
<one-to-manyclass=com.norteksoft.erm.model.Addressw/>
</set>
解釋lazy.inverse、cascade以及all-delete-orphan屬性的含義;并給出示例代碼,
說明在如下組合情況下,對(duì)于save.update、delete一對(duì)多關(guān)夕:中的一方對(duì)象操
作時(shí)的區(qū)別:
Inverse,cascade,true,all-delete-orphan,false>all-delete-orphan,true,all、false
All、true、none、false,none
解答:
(一)Iazy:延遲加我
Lazy的有效期:只有在session打開的時(shí)候才有效;session關(guān)閉后lazy就沒效了。
lazy策略可以用在:
a.<class>標(biāo)簽上:可以取值true/false
b.〈property〉標(biāo)筌上,可以取值true/false,這個(gè)特性需要類增強(qiáng)
c.<set>/<list>等集合上,可以取值為true/false/extra
d.<one-to-one>/<many-to-one>等標(biāo)箔上,可以取值false/proxy/no-proxy
1)get和10ad的區(qū)別:
a.get不支持延遲加我,而load支持。
b.當(dāng)查詢特定的數(shù)據(jù)庫中不存在的數(shù)據(jù)時(shí),get會(huì)返回null,而load則拋出異常。
2)類(Class)的延遲加裁:
a.設(shè)置<class>標(biāo)簽中的lazy="true",或是保持默認(rèn)(即不配置lazy屬性)
b.如果lazy的屬性值為true,那么在使用load方法加我數(shù)據(jù)時(shí),只有確實(shí)用到
數(shù)據(jù)的時(shí)候才會(huì)發(fā)
出sql語句;這樣有可能減少系統(tǒng)的開銷。
3)集合(collection)的延遲加我:可以取值true,false,extra
a.true:默認(rèn)取值,它的意思是只有在調(diào)用這個(gè)集合獲取里面的元素對(duì)象時(shí),才發(fā)
出查詢語句,加我其集合元素的數(shù)據(jù)
b.false:取請(qǐng)懶加我特性,即在加我對(duì)象的同時(shí),就發(fā)出第二條查詢語句加我其關(guān)
聯(lián)集合的數(shù)據(jù)
c.extra:—種比較聰明的懶加我策略,即調(diào)用集合的size/contains等方法的時(shí)候,
hibernate并不會(huì)去加我整個(gè)集合的數(shù)據(jù),而是發(fā)出一條聰明的SQL語句,以便
獲得需要的值,只有在真正需要用到這些集合元素對(duì)象數(shù)據(jù)的時(shí)候,才去發(fā)出查
詢語句加我所有對(duì)象的數(shù)據(jù)
4)Hibernate單端關(guān)張懶加我策略:即在<one-to-one>/<many-to-one>標(biāo)簽上可以
配置懶加我策略??梢匀≈禐椋篺alse/proxy/no-proxy
a.false:取消懶加我策略,即在加我對(duì)象的同時(shí),發(fā)出查詢語句,加載其關(guān)聯(lián)對(duì)象
xy:這是hibernate對(duì)單端關(guān)聯(lián)的默認(rèn)懶加我策略,即只有在調(diào)用到其關(guān)張對(duì)
象的方法的時(shí)候才真正發(fā)出查詢語句查詢其對(duì)象數(shù)據(jù),其關(guān)聯(lián)對(duì)象是代理類
c.no-proxy:這種懶加我特性需要對(duì)類或行增強(qiáng),使用no-proxy,其關(guān)張對(duì)象不是
代理類
注意:在class標(biāo)簽上配置的lazy屬性不會(huì)影響到關(guān)聯(lián)對(duì)象!!!
(二)inverse
inverse是指的關(guān)聯(lián)關(guān)余的控制方向,inverse=false的side(side其實(shí)是指inverse
=false所優(yōu)于的class元素)端有責(zé)任維護(hù)關(guān)系,而inverse=true端無須維護(hù)這
些關(guān)東
(三)cascade
cascade指的是層級(jí)之間的連領(lǐng)操作。在定義關(guān)浜對(duì)象的映射時(shí),使用cascade—'
all”,cascade—'save-update",cascade』'all-delete-orphanw或cascade—'deleten
a.如梟父對(duì)象被保存,所有的子對(duì)象會(huì)被帶遞到saveOrUpdate()方法去執(zhí)行
(cascade—'save-update")
b.如果父對(duì)象被傳遞到update?;蛘遱aveOrUpdate(),所有的子對(duì)象會(huì)被傳遹到
saveOrUpdate()方法去執(zhí)行(cascade="save-updatew)
c.如梟一個(gè)臨時(shí)的子對(duì)象被一個(gè)持久化的父對(duì)象引用了,它會(huì)被傳遞到
saveOrUpdate()去執(zhí)行(cascade=nsave-update")
d.如梟父對(duì)象被刪除了,所有的子對(duì)象對(duì)被傳遞到delete。方法執(zhí)行(cascade—'
delete")
e.如果?陶時(shí)的子對(duì)象不再被持久化的父對(duì)象引用,什么都不會(huì)發(fā)生(必要時(shí),程
序應(yīng)該明確的刪除這個(gè)子對(duì)象人除非聲明了cascade="all-delete-orphanw,在這
種情況下,成為"孤兒”的子對(duì)象會(huì)被刪除。
(??)save,update.delete一對(duì)多關(guān)系中的一方對(duì)象操作時(shí)的區(qū)別
\)當(dāng)一方設(shè)置inverse=true時(shí),所有由一方發(fā)出的操作都不會(huì)關(guān)聯(lián)到多方。
2)當(dāng)一方設(shè)置inverse=false,cascade=all-delete-orphan時(shí),將刪除不再和一方對(duì)象
關(guān)聯(lián)的所有多方對(duì)象。
3)當(dāng)一方設(shè)置inverse=false,cascade=all時(shí),當(dāng)保存和刪除一方對(duì)象時(shí),級(jí)嵌保存
和刪除所有關(guān)聯(lián)的多方對(duì)象。
4J當(dāng)一方設(shè)置inverse=false,cascade=none時(shí),當(dāng)對(duì)一方操作時(shí),不級(jí)聯(lián)到關(guān)聯(lián)的
多方對(duì)象。
26.簡單說明什么是選歸?什么情況會(huì)使用?并使用java實(shí)現(xiàn)一個(gè)簡單的遞.歸程
序。解答":
U遞.歸做為一種算決在程序設(shè)計(jì)語言中廣泛應(yīng)用.是指函數(shù)/過程/子程序在運(yùn)行
過程中直接或間接調(diào)用自身而產(chǎn)生的重人現(xiàn)象。
2)選歸算決一般用于解決三類問題:
a.數(shù)據(jù)的定義是按遞,歸定義的。(Fibonacci(斐波那契)函教)
b.問題解法按遞,歸算法實(shí)現(xiàn)。(回溯)
c.數(shù)據(jù)的結(jié)構(gòu)形式是按遞,歸定義的。(樹的遍歷,圖的拽索)
3).這是一個(gè)排列的例子,它所做的工作是將輸入的一個(gè)字符串中的所有元素進(jìn)
行排序并輸出,例如:你給出的參數(shù)是"abc"則程序會(huì)輸出:abcacbbacbca
cabcbaa.算法的出口在于:t。w=high也就是現(xiàn)在給出的排列元素只有一
個(gè)時(shí)。b.算法的逼近過程:先確定挑列的第一佳元素,也就是循環(huán)中,所代表
的元素,然后1。W+1開始減少挑列元素,如此下去,直到/。W=fti3
hpublicclassFoo{
publicstaticvoidmain(String[]args){
permute(“abc");
)
publicstaticvoidpermute(Stringstr){
charf]strArray=str.toCharArray();
permute(strArray,0,strArray.length-1);
)
publicstaticvoidpermute(char[]list,intlow,inthigh){
inti;
if(low==high){
Stringcout=;
for(i=0;i<=high;i++)
cout+=list[i];
System.out.println(cout);
}else{
for(i=low;i<=high;i++){
chartemp=list[low];
listflow]=listfi];
list[i]=temp;
permute(list,low+1,high);
temp=l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州站施工組織設(shè)計(jì)方案(幕墻)
- 二零二五年度金融行業(yè)IT運(yùn)維安全保障協(xié)議3篇
- 專業(yè)化海路物流合作合同(2024版)版B版
- 2025年度環(huán)保建筑材料推廣合作框架協(xié)議4篇
- 2025年度購物中心場地合作開發(fā)及商業(yè)運(yùn)營合同4篇
- 二零二四圖書購置項(xiàng)目與圖書館無障礙閱讀服務(wù)合同3篇
- 2025年度智能攤位管理系統(tǒng)開發(fā)與實(shí)施合同4篇
- 2025年度劇本創(chuàng)作與版權(quán)授權(quán)管理合同3篇
- 二零二五版4S店汽車銷售合同樣本圖2篇
- 2025年度農(nóng)產(chǎn)品質(zhì)量安全追溯體系服務(wù)合同4篇
- 衡水市出租車駕駛員從業(yè)資格區(qū)域科目考試題庫(全真題庫)
- 護(hù)理安全用氧培訓(xùn)課件
- 《三國演義》中人物性格探析研究性課題報(bào)告
- 注冊電氣工程師公共基礎(chǔ)高數(shù)輔導(dǎo)課件
- 土方勞務(wù)分包合同中鐵十一局
- 乳腺導(dǎo)管原位癌
- 冷庫管道應(yīng)急預(yù)案
- 司法考試必背大全(涵蓋所有法律考點(diǎn))
- 公共部分裝修工程 施工組織設(shè)計(jì)
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(共250余題)
- 裝飾裝修施工及擔(dān)保合同
評(píng)論
0/150
提交評(píng)論