




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JAVA的基本知識(shí)1、List、Map Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?List以特定次序來(lái)持有元素,可有重復(fù)元素。Set無(wú)法擁有重復(fù)元素,內(nèi)部排序。Map保存keyvalue 值,value可多值。2、Collection和 Collections的區(qū)別。Collection 是集合類(lèi)的上級(jí)接口,繼承與他的接口主要有Set和List.Collecti ons 是針對(duì)集合類(lèi)的一個(gè)幫助類(lèi),他提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作。?:L3、HashMap和 Hashtable 的區(qū)別。? HashMap是 Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們
2、都完成了 Map接口,主要 區(qū)別在于HashMap允許空(null )鍵值(key),由于非線程安全,效率上可能高于 Hashtable。? HashMap允許將 null 作為一個(gè) entry 的 key 或者 value,而 Hashtable 不允許。HashMap把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和 containsKey。因?yàn)?con tai ns方法容易讓人引起誤解。? Hashtable 繼承自 Dictio nary 類(lèi),而 HashMap是 Java1.2 引進(jìn)的 Map in terface 的一個(gè)實(shí) 現(xiàn)。最大的不同
3、是,Hashtable的方法是Synchronize的,而HashMap不是,在多個(gè)線程訪問(wèn)Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap就必須為之提供外同步。Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會(huì)有很大的差異。4、fin al, fin ally, fin alize的區(qū)別。final用于聲明屬性,方法和類(lèi),分別表示屬性不可變,方法不可覆蓋,類(lèi)不可繼承。fin ally是異常處理語(yǔ)句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize 是Object類(lèi)的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提
4、供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。5、JAVA中多線程有幾種實(shí)現(xiàn)方法?線程同步有幾種實(shí)現(xiàn)方法,都是什么?多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類(lèi)與實(shí)現(xiàn)Runnable接口?同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify6當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線程訪問(wèn)精心整理?7、sleep() 和wait()有什么區(qū)別? sleep是線程類(lèi)(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,
5、到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對(duì)象鎖。wait是Object類(lèi)的方法,對(duì)此對(duì)象調(diào)用 wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等 待鎖定池,只有針對(duì)此對(duì)象發(fā)出 notify方法(或notifyAlI )后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲 得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)8、java中有幾種類(lèi)型的流? JDK為每種類(lèi)型的流提供了一些抽象類(lèi)以供繼承,請(qǐng)說(shuō)出他們分別是 哪些類(lèi)?字節(jié)流,字符流。字節(jié)流繼承于 InputStream Outputstream ,字符流繼承于InputStreamReader OutputStreamWriter 。?9、java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?方法的重寫(xiě)Ove
6、rriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫(xiě)Overriding是父類(lèi) 與子類(lèi)之間多態(tài)性的一種表現(xiàn),重載 Overloading是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。10、JAVA語(yǔ)言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?宀1 |/ > J-#Java通過(guò)面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類(lèi),并提供了良好的接口。在Java中,每個(gè)異常都是一個(gè)對(duì)象,它是 Throwable類(lèi)或其它子類(lèi)的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異常 后便拋出一個(gè)異常對(duì)象,該對(duì)象中包含有異常信息,調(diào)用
7、這個(gè)對(duì)象的方法可以捕獲到這個(gè)異常并進(jìn)行處理。Java的異常處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try、catch、throw、throws和fin ally 。一般情況下是用try來(lái)執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出(throws ) 一個(gè)異常,這時(shí)候你可以通過(guò)它的類(lèi)型來(lái)捕捉(catch )它,或最后(fin ally )由缺省處理器來(lái)處理。用try來(lái)指定一塊預(yù)防所有"異常"的程序。緊跟在try程序后面,應(yīng)包含一個(gè)catch子句來(lái)指定 你想要捕捉的"異常"的類(lèi)型。throw語(yǔ)句用來(lái)明確地拋出一個(gè)"異常"。throws用來(lái)標(biāo)明一個(gè)成員函數(shù)
8、可能拋出的各種"異常"。Fin ally為確保一段代碼不管發(fā)生什么"異常"都被執(zhí)行一段代碼???以在一個(gè)成員函數(shù)調(diào)用的外面寫(xiě)一個(gè)try語(yǔ)句,在這個(gè)成員函數(shù)內(nèi)部寫(xiě)另一個(gè)try語(yǔ)句保護(hù)其他代碼。每當(dāng)遇到一個(gè)try語(yǔ)句,"異常"的框架就放到堆棧上 面,直到所有的try語(yǔ)句都完成。 如果下一級(jí)的try語(yǔ)句沒(méi)有對(duì)某種"異常"進(jìn)行處理,堆棧就會(huì)展開(kāi),直到遇到有處理這種"異常"的try語(yǔ)句。11、面向?qū)ο蟮奶卣饔心男┓矫娲穑褐饕幸韵滤姆矫妫?. 抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充
9、分地注意與當(dāng)前目 標(biāo)有關(guān)的方面。抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過(guò)程抽象,二是數(shù)據(jù)抽象。2. 繼承:繼承是一種聯(lián)結(jié)類(lèi)的層次模型,并且允許和鼓勵(lì)類(lèi)的重用,它提供了一種明確表述 共性的方法。對(duì)象的一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)中派生,這個(gè)過(guò)程稱(chēng)為類(lèi)繼承。新類(lèi)繼承了原始類(lèi)精心整理的特性,新類(lèi)稱(chēng)為原始類(lèi)的派生類(lèi)(子類(lèi)),而原始類(lèi)稱(chēng)為新類(lèi)的基類(lèi)(父類(lèi))。派生類(lèi)可以從 它的基類(lèi)那里繼承方法和實(shí)例變量,并且類(lèi)可以修改或增加新的方法使之更適合特殊的需要。3. 封裝:封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì) 算始于這個(gè)基本概念,即
10、現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過(guò)一 個(gè)受保護(hù)的接口訪問(wèn)其他對(duì)象。4. 多態(tài)性:多態(tài)性是指允許不同類(lèi)的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題。12.什么是工廠模式:工廠模式是一種經(jīng)常被使用到的模式,根據(jù)工廠模式實(shí)現(xiàn)的類(lèi)可以根據(jù)提供的數(shù)據(jù)生成一組 類(lèi)中某一個(gè)類(lèi)的實(shí)例,通常這一組類(lèi)有一個(gè)公共的抽象父類(lèi)并且實(shí)現(xiàn)了相同的方法,但是這些方 法針對(duì)不同的數(shù)據(jù)進(jìn)行了不同的操作。首先需要定義一個(gè)基類(lèi),該類(lèi)的子類(lèi)通過(guò)不同的方法實(shí)現(xiàn) 了基類(lèi)中的方法。然后需要定義一個(gè)工廠類(lèi),工廠類(lèi)可以
11、根據(jù)條件生成不同的子類(lèi)實(shí)例。當(dāng)?shù)玫?子類(lèi)的實(shí)例后,開(kāi)發(fā)人員可以調(diào)用基類(lèi)中的方法而不必考慮到底返回的是哪一個(gè)子類(lèi)的實(shí)例JSP/Servlet相關(guān)知識(shí)、: I ;1、說(shuō)出Servlet的生命周期。? Servlet被服務(wù)器實(shí)例化后,容器運(yùn)行其init方法,請(qǐng)求到達(dá)時(shí)運(yùn)行其service方法,service方法自動(dòng)派遣運(yùn)行與請(qǐng)求對(duì)應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實(shí)例銷(xiāo)毀的時(shí)候調(diào)用其destroy方法。、-h .12、JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?? JSP是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡(jiǎn)易方式,更強(qiáng)調(diào)應(yīng)用的外表
12、表達(dá)。JSP編譯后是"類(lèi)servlet" 。? Servlet和JSP最主要的不同點(diǎn)在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的 HTM里分離開(kāi)來(lái)。而JSP的情況是Java和HTM可以組合 成一個(gè)擴(kuò)展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏輯。3、jsp有哪些動(dòng)作?作用分別是什么?W l IJSP共有以下6種基本動(dòng)作jsp:i nclude:在頁(yè)面被請(qǐng)求的時(shí)候引入一個(gè)文件。jsp:useBean :尋找或者實(shí)例化一個(gè) JavaBean。jsp:setProperty :設(shè)置 JavaBean 的屬性。?jsp:getPro
13、perty :輸出某個(gè) JavaBean 的屬性。jsp:forward :把請(qǐng)求轉(zhuǎn)到一個(gè)新的頁(yè)面。jsp:plugin :根據(jù)瀏覽器類(lèi)型為Java插件生成OBJECTS EMBE標(biāo)記。4、JSP的內(nèi)置對(duì)象及方法。request表示HttpServletRequest對(duì)象。它包含了有關(guān)瀏覽器請(qǐng)求的信息,并且提供了幾個(gè)用于獲取cookie, header, 和session數(shù)據(jù)的有用的方法。? response表示HttpServletResponse對(duì)象,并提供了幾個(gè)用于設(shè)置送回瀏覽器的響應(yīng)的方法(如cookies,頭信息等)? page表示從該頁(yè)面產(chǎn)生的一個(gè) servlet實(shí)例5、JSP中動(dòng)
14、態(tài)in elude 與靜態(tài)in elude 的區(qū)別??動(dòng)態(tài)in elude用jsp:i nclude 動(dòng)作實(shí)現(xiàn) 它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng) 態(tài)頁(yè)面,并且可以帶參數(shù)。?靜態(tài)in elude用in elude偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁(yè)面6如果不希望JSP網(wǎng)頁(yè)支持Session,應(yīng)該如何辦?答:% page session= “ false"J2EE相關(guān)知識(shí)請(qǐng)對(duì)以下在J2EE中常用的名詞進(jìn)行解釋(或簡(jiǎn)單描述)web容器:給處于其中的應(yīng)用程序組件(JSP, SERVLEJ提供一個(gè)環(huán)境,使JSP,SERVLE直接更 容器中的環(huán)境變量接口交互,不必關(guān)注
15、其它系統(tǒng)問(wèn)題。主要有WEB艮務(wù)器來(lái)實(shí)現(xiàn)。例如:TOMCAT,WEBLOGIC,WEBSP等ER該容器提供的接口嚴(yán)格遵守 J2EE規(guī)范中的WEB APPLICATIONS 準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的 WEB艮務(wù)器就叫做J2EE中的WE秦器。EJB容器:Enterprise java bean容器。更具有行業(yè)領(lǐng)域特色。他提供給運(yùn)行在其中的組件EJB各種管理功能。只要滿足J2EE規(guī)范的EJB放入該容器,馬上就會(huì)被容器進(jìn)行高效率的管理。并且 可以通過(guò)現(xiàn)成的接口來(lái)獲得系統(tǒng)級(jí)別的服務(wù)。例如郵件服務(wù)、事務(wù)管理。JNDI:( Java Naming & Direetory Interfaee) JAVA
16、命名目錄服務(wù)。主要提供的功能是:提供一個(gè)目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布 式應(yīng)用程序的功能。JMS (Java Message Serviee ) JAVA消肖息服務(wù)。主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊。包括點(diǎn)對(duì) 點(diǎn)和廣播。JTA:( Java Transaetion API ) JAVA事務(wù)服務(wù)。提供各種分布式事務(wù)服務(wù)。應(yīng)用程序只需調(diào)用 其提供的接口即可。JAF:( Java Aetion FrameWork ) JAVA安全認(rèn)證框架。提供一些安全控制方面的框架。讓開(kāi)發(fā)者 通過(guò)各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制策略。RMI/IIOP: (Rem
17、ote Method In voeation /in ternet對(duì)象請(qǐng)求中介協(xié)議)他們主要用于通過(guò)遠(yuǎn)程調(diào)用服務(wù)。例如,遠(yuǎn)程有一臺(tái)計(jì)算機(jī)上運(yùn)行一個(gè)程序,它提供股票分析服務(wù),我們可以在本地計(jì) 算機(jī)上實(shí)現(xiàn)對(duì)其直接調(diào)用。當(dāng)然這是要通過(guò)一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進(jìn)行通信。RMI是JAVA特有的。什么是web容器答:給處于其中的應(yīng)用程序組件(JSP, SERVLET提供一個(gè)環(huán)境,使JSP,SERVLE直接跟容器中的環(huán)境變量交互,不必關(guān)注其它系統(tǒng)問(wèn)題。主要有WEB艮務(wù)器來(lái)實(shí)現(xiàn)。例如:TOMCAT,WEBLOGIC,WEBSP等ER該容器提供的接口嚴(yán)格遵守 J2EE規(guī)范中的WEB APPLICATION
18、S準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的 WE曲艮務(wù)器就叫做J2EE中的WE磨器XMLff關(guān)知識(shí)xml有哪些解析技術(shù)?區(qū)別是什么?答:主要有DOM,SA等DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問(wèn)題是由DOM勺樹(shù)結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM、須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對(duì)XML的隨機(jī)訪問(wèn)SAX:不同于DOM,SA是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取 XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開(kāi)頭,文檔結(jié)束,或者標(biāo)簽開(kāi)頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通 過(guò)在其回調(diào)事件中寫(xiě)入處理代碼來(lái)處理 XML文件,適合對(duì)XML的順序訪問(wèn)XML文檔定義有幾種形式?它
19、們之間有何本質(zhì)區(qū)別?解析 XML文檔有哪幾種方式?a:兩種形式dtd schema , b:本質(zhì)區(qū)別:schema本身是xml的,可以被XMLS析器解析(這也是從DTD±發(fā)展schema的根本目的),c:有DOM,SAX,STA等DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問(wèn)題是由DOM勺樹(shù)結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且 DOM、須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對(duì)XML的隨機(jī)訪問(wèn)SAX:不現(xiàn)于DOM,SAXI事件驅(qū)動(dòng)型的XML解析方式。它順序讀取 XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開(kāi)頭,文檔結(jié)束,或者標(biāo)簽開(kāi)頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用
20、戶通過(guò)在其回調(diào)事件中寫(xiě)入處理代碼來(lái)處理 XML文件,適合對(duì)XML的順序訪問(wèn)STAX:Streami ng API for XML (StAX)項(xiàng)目中主要用到xml技術(shù)的哪些方面?如何實(shí)現(xiàn)的?答:用到了數(shù)據(jù)存貯,信息配置兩方面。在做數(shù)據(jù)交換平臺(tái)時(shí),將不同數(shù)據(jù)源的數(shù)據(jù)組裝成XML文 件,然后將XML文件壓縮打包加密后通過(guò)網(wǎng)絡(luò)傳送給接收者,接收解密與解壓縮后再同XML文件中還、:、原相關(guān)信息進(jìn)行處理。在做軟件配置時(shí),利用XML可以很方便的進(jìn)行,軟件的各種配置參數(shù)都存貯在 XML文件中。STRUTS/SPRING/HIBERNA相關(guān)知識(shí)STRUTS勺應(yīng)用(女口 STRUT栗構(gòu))答:Struts 是采用
21、Java Servlet/JavaServer Pages 技術(shù),開(kāi)發(fā) Web應(yīng)用程序的開(kāi)放源碼的 framework。 采用Struts能開(kāi)發(fā)出基于MVC(Model-View-Controller) 設(shè)計(jì)模式的應(yīng)用構(gòu)架。Struts有如下的主要功能:1.包含一個(gè)controller servlet,能將用戶的請(qǐng)求發(fā)送到相應(yīng)的 Action對(duì)象。2. JSP自由tag庫(kù),并且在controller servlet中提供關(guān)聯(lián)支持,幫助開(kāi)發(fā)員創(chuàng)建交互式表單應(yīng)用。3. 提供了一系列實(shí)用對(duì)象:XML處理、通過(guò)Java reflection APIs自動(dòng)處理JavaBeans屬性、國(guó)際化的提示和消息h
22、ibernate 工作原理:3、通過(guò) config.buildSessionFactory();/4、sessionFactory.openSession();5、session.beginTransaction();/得至U sessionFactory。 得至U session 。開(kāi)啟事務(wù)。6、persistent operate;6、session.getTransaction().commit();提交事務(wù)7、關(guān)閉 session;8、關(guān)閉 sessionFactory;hibernate 優(yōu)點(diǎn):1、封裝了 jdbc,簡(jiǎn)化了很多重復(fù)性代碼。2、簡(jiǎn)化了 DAO層編碼工作,使開(kāi)發(fā)更對(duì)象化了
23、。3、移植性好,支持各種數(shù)據(jù)庫(kù),如果換個(gè)數(shù)據(jù)庫(kù)只要在配置文件中變換配置就可以了,不用改變 hibernate 代碼。4、 支持透明持久化,因?yàn)閔ibernate 操作的是純粹的(pojo)java類(lèi),沒(méi)有實(shí)現(xiàn)任何接口,沒(méi)有侵入性。所以說(shuō)它是一個(gè)輕量級(jí)框架。spring 工作原理:1. spring mvc請(qǐng)所有的請(qǐng)求都提交給DispatcherServlet, 它會(huì)委托應(yīng)用系統(tǒng)的其他模塊負(fù)責(zé)負(fù)責(zé)對(duì)請(qǐng)求進(jìn)行真正的處理工作。2. DispatcherServlet查詢一個(gè)或多個(gè) HandlerMapping,找到處理請(qǐng)求的Controller.3.DispatcherServlet請(qǐng)請(qǐng)求提交到目標(biāo)
24、 Controller4. Controller進(jìn)行業(yè)務(wù)邏輯處理后,會(huì)返回一個(gè)ModelAndView5. Dispathcher 查詢一個(gè)或多個(gè) ViewResolver視圖解析器,找到ModelAndView對(duì)象指定的視圖對(duì)象6.視圖對(duì)象負(fù)責(zé)渲染返回給客戶端。為什么要用 spring:AOP讓開(kāi)發(fā)人員可以創(chuàng)建非行為性的關(guān)注點(diǎn),稱(chēng)為橫切關(guān)注點(diǎn),并將它們插入到應(yīng)用程序代碼中。使用 AOP后,公共服務(wù)?(比 如日志、持久性、事務(wù)等)就可以分解成方面并應(yīng)用到域?qū)ο笊?,同時(shí)不會(huì)增加域?qū)ο蟮膶?duì)象模型的復(fù)雜性。IOC允許創(chuàng)建一個(gè)可以構(gòu)造對(duì)象的應(yīng)用環(huán)境,然后向這些對(duì)象傳遞它們 的協(xié)作對(duì)象。正如單詞倒置所表
25、明的,IOC就像反???過(guò)來(lái)的JNDI。沒(méi)有使用一堆抽象工廠、服務(wù)定位器、單元素(singleton )和直接構(gòu)造(straight construction ),每一個(gè)對(duì)象都是用 ???其協(xié)作對(duì)象構(gòu)造的。因此是由容器管理協(xié)作對(duì)象(collaborator )。Spring即使一個(gè) AOP1架,也是一 IOC容器。Spring 最好的地方是它有助于您替換對(duì)象。有了Spring,只要用JavaBean屬性和配置文件加入依賴性(協(xié)作對(duì)象)。然后可以很容易地在需要時(shí)替換具有類(lèi)似接口 的協(xié)作對(duì)象。解釋一下 Dependency injection(DI,依賴注入)和 IOC(lnversion ofc
26、ontrol,控制反轉(zhuǎn))?:I 依賴注入DI是一個(gè)程序設(shè)計(jì)模式和架構(gòu)模型,一些時(shí)候也稱(chēng)作控制反轉(zhuǎn),盡管在技術(shù)上來(lái)講,依賴注入是一個(gè)IOC的特殊實(shí)現(xiàn),依賴注入是指一個(gè)對(duì)象應(yīng)用另外一個(gè)對(duì)象來(lái)提供一個(gè)特殊的能力,例如:把一個(gè)數(shù) 據(jù)庫(kù)連接已參數(shù)的形式傳到一個(gè)對(duì)象的結(jié)構(gòu)方法里面而不是在那個(gè)對(duì)象 內(nèi)部自行創(chuàng)建一個(gè)連接。控制反轉(zhuǎn)和依賴注入的基本思想就是把類(lèi)的依 賴從類(lèi)內(nèi)部轉(zhuǎn)化到外部以減少依賴應(yīng)用控制反轉(zhuǎn),對(duì)象在被創(chuàng)建的時(shí)候,由一個(gè)調(diào)控系統(tǒng)內(nèi)所有對(duì)象的外 界實(shí)體,將其所依賴的對(duì)象的引用,傳遞給它。也可以說(shuō),依賴被注入 到對(duì)象中。所以,控制反轉(zhuǎn)是,關(guān)于一個(gè)對(duì)象如何獲取他所依賴的對(duì)象 的引用,這個(gè)責(zé)任的反轉(zhuǎn)。sp
27、ring 中的 BeanFactory 與 Applicationcontext的作用有哪些?1. BeanFactory 負(fù)責(zé)讀取bean配置文檔,管理 bean的加載,實(shí)例化,維護(hù)bean之間的依賴關(guān)系,負(fù)責(zé)bean的聲明周期。2. ApplicationContext除了提供上述 BeanFactory 所能提供的功能之夕卜,還提供了更完整的框架功能:什么是aop,aop的作用是什么?面向切面編程(AOP提供另外一種角度來(lái)思考程序結(jié)構(gòu),通過(guò)這種方式彌補(bǔ)了面向?qū)ο缶幊蹋∣OP的不足精心整理除了類(lèi)(classes )以外,AOP提供了切面。切面對(duì)關(guān)注點(diǎn)進(jìn)行模塊化,例如橫切多個(gè)類(lèi)型和對(duì)象的事務(wù)
28、管理Spring的一個(gè)關(guān)鍵的組件就是 AOP匡架,可以自由選擇是否使用AOP提供聲明式企業(yè)服務(wù),特別是為了替代EJB聲明式服務(wù)。最重要的服務(wù)是聲明性事務(wù)管理,這個(gè)服務(wù)建立在Spring的抽象事物管理之上允許用戶實(shí)現(xiàn)自定義切面,用AOP來(lái)完善OOP勺使用可以把Spring AOP看作是對(duì)Spring的一種增強(qiáng)請(qǐng)談?wù)凷SH整合:I I:ISSHStruts (表示層)+Spring (業(yè)務(wù)層)+Hibernate (持久層)Struts :Struts是一個(gè)表示層框架,主要作用是界面展示,接收請(qǐng)求,分發(fā)請(qǐng)求。在MVC匡架中,Struts屬于VC層次,負(fù)責(zé)界面表現(xiàn),負(fù)責(zé)MVC關(guān)系的分發(fā)。(View
29、:沿用 JSP, HTTP Form, Tag, Resourse ; Controller :ActionServlet , struts-config.xml , Action )Hibernate :Hibernate是一個(gè)持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫(kù)的操作。Spring :Spring是一個(gè)業(yè)務(wù)層框架,是一個(gè)整合的框架,能夠很好地黏合表示層- ;.:'i與持久層。I IEJB相關(guān)知識(shí)EJB包括(SessionBean,EntityBean )說(shuō)出他們的生命周期,及如何管理 事務(wù)的?SessionBean : Stateless Session Bean的生命周期是由容器決定
30、的,當(dāng)客戶機(jī)發(fā)出請(qǐng)求要建立一個(gè)Bean的實(shí)例時(shí),EJB容器不一定要?jiǎng)?chuàng)建一個(gè)新的Bean的實(shí)例供客戶機(jī)調(diào)用,而是隨便找一個(gè)現(xiàn)有的實(shí)例提供 給客戶機(jī)。當(dāng)客戶機(jī)第一次調(diào)用一個(gè)Stateful Session Bean 時(shí),容器必須立即在服務(wù)器中創(chuàng)建一個(gè)新的Bean實(shí)例,并關(guān)聯(lián)到客戶機(jī)上,以后精心整理此客戶機(jī)調(diào)用Stateful Session Bean的方法時(shí)容器會(huì)把調(diào)用分派到與此客戶機(jī)相關(guān)聯(lián)的 Bean實(shí)例。EntityBean : Entity Beans 能存活相對(duì)較長(zhǎng)的時(shí)間,并且狀態(tài)是持續(xù) 的。只要數(shù)據(jù)庫(kù)中的數(shù)據(jù)存在,Entity beans就一直存活。而不是按照應(yīng)用程序或者服務(wù)進(jìn)程來(lái)說(shuō)的。即使EJB容器崩潰了, Entity beans 也是存活的。Entity Beans生命周期能夠被容器或者Beans自己管理。EJB通過(guò)以下技
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣西幼兒師范高等專(zhuān)科學(xué)校單招職業(yè)傾向性測(cè)試題庫(kù)完整版
- 2025年福建衛(wèi)生職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及完整答案1套
- 2025年甘肅林業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)a4版
- 2025年廣東交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案一套
- 2025年福建師范大學(xué)協(xié)和學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及參考答案一套
- 2025年廣東松山職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)完美版
- 2025年成都工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)審定版
- 2025年渤海理工職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)學(xué)生專(zhuān)用
- 2025年廣西農(nóng)業(yè)工程職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)往年題考
- 2025年福州軟件職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及完整答案1套
- 代寫(xiě)回憶錄合同
- 2024年10月自考00149國(guó)際貿(mào)易理論與實(shí)務(wù)試題及答案
- 2024年下半年教師資格考試《中學(xué)教育知識(shí)與能力》真題及答案解析
- 物業(yè)保潔常用藥劑MSDS
- 人音版音樂(lè)七年級(jí)上冊(cè)《厄爾嘎茲》課件
- 藥物臨床治療學(xué)
- 《跨文化溝通》課件
- 操檢合一培訓(xùn)
- (一模)長(zhǎng)春市2025屆高三質(zhì)量監(jiān)測(cè)(一)數(shù)學(xué)試卷
- 2024-2025學(xué)年湖北省武漢市華中師大一附中高三上學(xué)期10月檢測(cè)英語(yǔ)試題及答案
- 糖尿病課件 教學(xué)課件
評(píng)論
0/150
提交評(píng)論