版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、比較比較Hibernate的三種檢索策略優(yōu)缺點(diǎn)的三種檢索策略優(yōu)缺點(diǎn)1立即檢索;優(yōu)點(diǎn):對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便的從一個(gè)對(duì)象導(dǎo)航到與它關(guān)聯(lián)的對(duì)象;缺點(diǎn):1.語(yǔ)句太多;2.可能會(huì)加載應(yīng)用程序不需要訪問的對(duì)象白白浪費(fèi)許多內(nèi)存空間;2延遲檢索:優(yōu)點(diǎn):由應(yīng)用程序決定需要加載哪些對(duì)象,可以避免可執(zhí)行多余的語(yǔ)句,以及避免加載應(yīng)用程序不需要訪問的對(duì)象。因此能提高檢索性能,并且能節(jié)省內(nèi)存空間;缺點(diǎn):應(yīng)用程
2、序如果希望訪問游離狀態(tài)代理類實(shí)例,必須保證他在持久化狀態(tài)時(shí)已經(jīng)被初始化;3迫切左外連接檢索優(yōu)點(diǎn):1對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便地沖一個(gè)對(duì)象導(dǎo)航到與它關(guān)聯(lián)的對(duì)象。2使用了外連接,語(yǔ)句數(shù)目少;缺點(diǎn):1可能會(huì)加載應(yīng)用程序不需要訪問的對(duì)象,白白浪費(fèi)許多內(nèi)存空間;2復(fù)雜的數(shù)據(jù)庫(kù)表連接也會(huì)影響檢索性能;如何在控制臺(tái)看到如何在控制臺(tái)看到hibernate生成并執(zhí)行的生成并執(zhí)行的sql在定義數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)
3、屬性的文件applicationConfig.xml里面,把hibernate.show_sql設(shè)置為true這樣生成的SQL就會(huì)在控制臺(tái)出現(xiàn)了注意:這樣做會(huì)加重系統(tǒng)的負(fù)擔(dān),不利于性能調(diào)優(yōu)hibernatehibernate都支持哪些緩存策略都支持哪些緩存策略Readonly:這種策略適用于那些頻繁讀取卻不會(huì)更新的數(shù)據(jù),這是目前為止最簡(jiǎn)單和最有效的緩存策略Readwrite:這種策略適用于需要被更新的數(shù)據(jù),比readonly更耗費(fèi)資源,
4、在非JTA環(huán)境下,每個(gè)事務(wù)需要在session.close和session.disconnect()被調(diào)用Nonstrictreadwrite:這種策略不保障兩個(gè)同時(shí)進(jìn)行的事務(wù)會(huì)修改同一塊數(shù)據(jù),這種策略適用于那些經(jīng)常讀取但是極少更新的數(shù)據(jù)Transactional:這種策略是完全事務(wù)化得緩存策略,可以用在JTA環(huán)境下hibernatehibernate里面的里面的stedstedcollectioncollection和deredder
5、edcollectioncollection有什么區(qū)別有什么區(qū)別stedcollection是在內(nèi)存中通過java比較器進(jìn)行排序的deredcollection是在數(shù)據(jù)庫(kù)中通過derby進(jìn)行排序的springspringhibernatehibernatestrutsstruts的筆試面試題(含答案)的筆試面試題(含答案)HibernateHibernate工作原理及為什么要用?工作原理及為什么要用?原理:1.讀取并解析配置文件2.讀取
6、并解析映射信息,創(chuàng)建SessionFacty3.打開Sesssion4.創(chuàng)建事務(wù)Transation5.持久化操作6.提交事務(wù)7.關(guān)閉Session8.關(guān)閉SesstionFacty為什么要用:1.對(duì)JDBC訪問數(shù)據(jù)庫(kù)的代碼做了封裝,大大簡(jiǎn)化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。2.Hibernate是一個(gè)基于JDBC的主流持久化框架,是一個(gè)優(yōu)秀的M實(shí)現(xiàn)。他很大程度的簡(jiǎn)化DAO層的編碼工作3.hibernate使用Java反射機(jī)制,而不是字節(jié)碼
7、增強(qiáng)程序來實(shí)現(xiàn)透明性。(4)如果ActionFm的validate()方法返回null或返回一個(gè)不包含ActionMessage的ActuibErrs對(duì)象就表示表單驗(yàn)證成功(5)ActionServlet根據(jù)ActionMapping所包含的映射信息決定將請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action如果相應(yīng)的Action實(shí)例不存在就先創(chuàng)建這個(gè)實(shí)例然后調(diào)用Action的execute()方法(6)Action的execute()方法返回一個(gè)ActionFw
8、ard對(duì)象ActionServlet在把客戶請(qǐng)求轉(zhuǎn)發(fā)給ActionFward對(duì)象指向的JSP組件(7)ActionFward對(duì)象指向JSP組件生成動(dòng)態(tài)網(wǎng)頁(yè)返回給客戶為什么要用Struts:JSP、Servlet、JavaBean技術(shù)的出現(xiàn)給我們構(gòu)建強(qiáng)大的企業(yè)應(yīng)用系統(tǒng)提供了可能。但用這些技術(shù)構(gòu)建的系統(tǒng)非常的繁亂,所以在此之上,我們需要一個(gè)規(guī)則、一個(gè)把這些技術(shù)組織起來的規(guī)則,這就是框架,Struts便應(yīng)運(yùn)而生?;赟truts開發(fā)的應(yīng)用由3
9、類組件構(gòu)成:控制器組件、模型組件、視圖組件8StrutsStruts的validatevalidate框架是如何驗(yàn)證的?框架是如何驗(yàn)證的?在struts配置文件中配置具體的錯(cuò)誤提示,再在FmBean中的validate()方法具體調(diào)用。9說下說下StrutsStruts的設(shè)計(jì)模式的設(shè)計(jì)模式MVC模式:web應(yīng)用程序啟動(dòng)時(shí)就會(huì)加載并初始化ActionServler。用戶提交表單時(shí),一個(gè)配置好的ActionFm對(duì)象被創(chuàng)建,并被填入表單相應(yīng)的
10、數(shù)據(jù),ActionServler根據(jù)Strutsconfig.xml文件配置好的設(shè)置決定是否需要表單驗(yàn)證,如果需要就調(diào)用ActionFm的Validate()驗(yàn)證后選擇將請(qǐng)求發(fā)送到哪個(gè)Action,如果Action不存在,ActionServlet會(huì)先創(chuàng)建這個(gè)對(duì)象,然后調(diào)用Action的execute()方法。Execute()從ActionFm對(duì)象中獲取數(shù)據(jù),完成業(yè)務(wù)邏輯,返回一個(gè)ActionFward對(duì)象,ActionServlet
11、再把客戶請(qǐng)求轉(zhuǎn)發(fā)給ActionFward對(duì)象指定的jsp組件,ActionFward對(duì)象指定的jsp生成動(dòng)態(tài)的網(wǎng)頁(yè),返回給客戶。1010springspring工作機(jī)制及為什么要用工作機(jī)制及為什么要用1.springmvc請(qǐng)所有的請(qǐng)求都提交給DispatcherServlet它會(huì)委托應(yīng)用系統(tǒng)的其他模塊負(fù)責(zé)負(fù)責(zé)對(duì)請(qǐng)求進(jìn)行真正的處理工作。2.DispatcherServlet查詢一個(gè)或多個(gè)HlerMapping找到處理請(qǐng)求的Controll
12、er.3.DispatcherServlet請(qǐng)求提交到目標(biāo)Controller4.Controller進(jìn)行業(yè)務(wù)邏輯處理后,會(huì)返回一個(gè)ModelView5.Dispathcher查詢一個(gè)或多個(gè)ViewResolver視圖解析器找到ModelView對(duì)象指定的視圖對(duì)象6.視圖對(duì)象負(fù)責(zé)渲染返回給客戶端。為什么用Spring:AOP讓開發(fā)人員可以創(chuàng)建非行為性的關(guān)注點(diǎn),稱為橫切關(guān)注點(diǎn),并將它們插入到應(yīng)用程序代碼中。使用AOP后,公共服務(wù)(比如日志
13、、持久性、事務(wù)等)就可以分解成方面并應(yīng)用到域?qū)ο笊希瑫r(shí)不會(huì)增加域?qū)ο蟮膶?duì)象模型的復(fù)雜性。IOC允許創(chuàng)建一個(gè)可以構(gòu)造對(duì)象的應(yīng)用環(huán)境,然后向這些對(duì)象傳遞它們的協(xié)作對(duì)象。正如單詞倒置所表明的,IOC就像反過來的JNDI。沒有使用一堆抽象工廠、服務(wù)定位器、單元素(singleton)和直接構(gòu)造(straightconstruction),每一個(gè)對(duì)象都是用其協(xié)作對(duì)象構(gòu)造的。因此是由容器管理協(xié)作對(duì)象(collabat)。Spring即使一個(gè)AOP
14、框架,也是一IOC容器。Spring最好的地方是它有助于您替換對(duì)象。有了Spring,只要用JavaBean屬性和配置文件加入依賴性(協(xié)作對(duì)象)。然后可以很容易地在需要時(shí)替換具有類似接口的協(xié)作對(duì)象。hibernatehibernate面試題小集面試題小集1.1.HibernateHibernate有哪幾種查詢數(shù)據(jù)的方式有哪幾種查詢數(shù)據(jù)的方式3種:hql、條件查詢QBC(QueryByCriteria)、原生sql(通過createSQL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
評(píng)論
0/150
提交評(píng)論