




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SSH面試題總結(jié):1:Hibernate工作原理及為什么要用Hibernate? 原理:hibernate,通過(guò)對(duì)jdbc進(jìn)行封裝,對(duì) java類和 關(guān)系數(shù)據(jù)庫(kù)進(jìn)行mapping,實(shí)現(xiàn)了對(duì)關(guān)系數(shù)據(jù)庫(kù)的面向?qū)ο蠓绞降牟僮鳎淖兞藗鹘y(tǒng)的jdbc + sql操作數(shù)據(jù)的方式,從而使開發(fā)人員可以話更多精力進(jìn)行對(duì)象方面的開發(fā) 1.讀取并解析配置文件 2.讀取并解析映射信息,創(chuàng)建SessionFactory 3.打開Sesssion 4.創(chuàng)建事務(wù)Transation 5.持久化操作 6.提交事務(wù) 7.關(guān)閉Session 8.關(guān)閉SesstionFactory 2:為什么要用Hibernate: 1. 對(duì)JD
2、BC訪問(wèn)數(shù)據(jù)庫(kù)的代碼做了封裝,大大簡(jiǎn)化了數(shù)據(jù)訪問(wèn)層繁瑣的重復(fù)性代碼。 2. Hibernate是一個(gè)基于JDBC的主流持久化框架,是一個(gè)優(yōu)秀的ORM實(shí)現(xiàn)。他很大程度的簡(jiǎn)化DAO層的編碼工作 3. hibernate的性能非常好,因?yàn)樗莻€(gè)輕量級(jí)框架。映射的靈活性很出色。它支持各種關(guān)系數(shù)據(jù)庫(kù),從一對(duì)一到多對(duì)多的各種復(fù)雜關(guān)系。 3: 什么是Hibernate延遲加載? 延遲加載機(jī)制是為了避免一些無(wú)謂的性能開銷而提出來(lái)的,所謂延遲加載就是當(dāng)在真正需要數(shù)據(jù)的時(shí)候,才真正執(zhí)行數(shù)據(jù)加載操作。在Hibernate中提供了對(duì)實(shí)體對(duì)象的延遲加載以及對(duì)集合的延遲加載,另外在Hibernate3中還提供了對(duì)屬性的延
3、遲加載。4:Hibernate中類之間的關(guān)聯(lián)關(guān)系有幾種?(如:一對(duì)多、多對(duì)多的關(guān)系) many-to-one、one-to-many、many-to-many、 one-to-one5: 說(shuō)下Hibernate的緩存機(jī)制 一、hibernate一級(jí)緩存(1)hibernate支持兩個(gè)級(jí)別的緩存,默認(rèn)只支持一級(jí)緩存;(2)每個(gè)Session內(nèi)部自帶一個(gè)一級(jí)緩存;(3)某個(gè)Session被關(guān)閉時(shí),其對(duì)應(yīng)的一級(jí)緩存自動(dòng)清除;二、hibernate二級(jí)緩存(1) 二級(jí)緩存獨(dú)立于session,默認(rèn)不開啟;6: Hibernate的查詢方式 本地SQL查詢、Criteria、Hql7: 如何優(yōu)化Hibe
4、rnate? 1.使用雙向一對(duì)多關(guān)聯(lián),不使用單向一對(duì)多 2.不用一對(duì)一,用多對(duì)一取代 8為什么要用Struts: 不用再考慮公共問(wèn)題專心在業(yè)務(wù)實(shí)現(xiàn)上結(jié)構(gòu)統(tǒng)一,易于學(xué)習(xí)、維護(hù)新手也可寫出好程序 9:為什么要用spring? Spring是一個(gè)輕量級(jí)的IOC和AOP框架。 IOC(控制反轉(zhuǎn))意味著將你設(shè)計(jì)好的類交給系統(tǒng)去控制,而不是在你的類內(nèi)部控制。這稱為控制反轉(zhuǎn)。AOP(面向切面),它將那些影響多個(gè)類的行為封裝到可重用的模塊中,面向?qū)ο笫前褑?wèn)題從同類事物中抽象出來(lái),面向切面是把問(wèn)題從不同類問(wèn)題中抽象出來(lái)。控制事務(wù)更方便。10. hibernate中g(shù)et()與load()區(qū)別 1、 sessio
5、nget() 執(zhí)行立即加載;sessionload執(zhí)行延遲加載; 2、get()方法返回Student類的對(duì)象; load()方法返回Student的子類的對(duì)象(代理-替身); 3、final型的實(shí)體類,無(wú)法產(chǎn)生代理(替身);11. 寫一段程序,使用spring API讀取classpath下的一個(gè)xml文件,并解析 (1)Resource resource=new ClassPathResource("applicationContext.xml"); BeanFactory factory=new XmlBeanFactory(resource);(2)ClassPat
6、hXmlApplicationContext appcontext=new ClassPathXmlApplicationContext("applicationContext.xml"); BeanFactory factory=(BeanFactory)appcontext;12. 使用Spring如何簡(jiǎn)化了Hibernate編碼?通過(guò)org.springframework.orm.hibernate3.support.HibernateDaoSupport類支持?jǐn)?shù)據(jù)庫(kù)操作,且封裝了事務(wù).public class AccountDAO extends Hibernate
7、DaoSupport implements IAccountDAO13. 依賴注入的好處是?程序可擴(kuò)展性更強(qiáng);利于并行開發(fā);14. “面向方面編程”的好處是?將程序中涉及的公共問(wèn)題集中解決15. 如何配置一對(duì)多關(guān)聯(lián)? <set name="lessons" inverse="true" lazy="true|false" cascade="all" order-by="sem_id"> <key> <column name="sem_id" /&
8、gt; </key> <one-to-many class="demo.entity.Lesson" /> </set>16、什么是ORM?答:對(duì)象關(guān)系映射(ObjectRelational Mapping,簡(jiǎn)稱ORM)是一種為了解決面向?qū)ο笈c面向關(guān)系數(shù)據(jù)庫(kù)存在的互不匹配的現(xiàn)象的技術(shù);簡(jiǎn)單的說(shuō),ORM 就是將對(duì)象自動(dòng)持久化到關(guān)系數(shù)據(jù)庫(kù)中;17、什么是重量級(jí)?什么是輕量級(jí)?輕量級(jí)是指組件的創(chuàng)建和銷毀不需要消耗太多的資源,而且底層依賴的支撐技術(shù)更少;重量級(jí)意味組件的創(chuàng)建會(huì)占用很多的資源,不能隨意的創(chuàng)建和銷毀它的實(shí)例,底層依賴更多的支撐技術(shù)。1
9、8、寫出你熟悉的開源框架以及各自的作用Spring是一個(gè)應(yīng)用級(jí)框架,提供了IoC服務(wù),可以整合不同的外部應(yīng)用,同時(shí),Spring的AOP提供了很好的面向方面編程,例如,對(duì)事務(wù)的處理等。并且,Spring推薦programming to interface方式,所有的IoC服務(wù)盡量要求使用面向接口設(shè)計(jì)。 Struts提供了一個(gè)MVC的實(shí)現(xiàn).hibernate的作用簡(jiǎn)單的說(shuō)就是對(duì)數(shù)據(jù)庫(kù)的基本操作進(jìn)行了封裝19、.Hibernate 的應(yīng)用步驟?答:/首先獲得SessionFactory 的對(duì)象SessionFactory sessionFactory = new Configuration().c
10、onfigure().buildSessionFactory();/然后獲得session 的對(duì)象Session session = sessionFactory.openSession();/其次獲得Transaction 的對(duì)象Transaction tx = session.beginTransaction();/執(zhí)行相關(guān)的數(shù)據(jù)庫(kù)操作:增,刪,改,查session.save(user); /增加, user 是User 類的對(duì)象session.delete(user); /刪除session.update(user); /更新Query query = session.createQue
11、ry(“from User”); /查詢List list = query.list();/提交事務(wù)mit();/如果有異常,我們還要作事務(wù)的回滾,恢復(fù)到操作之前tx.rollback();/最后還要關(guān)閉session,釋放資源session.close();20、JSP 和Servlet 有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?答:JSP 是Servlet 技術(shù)的擴(kuò)展,本質(zhì)上是Servlet 的簡(jiǎn)易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。JSP 編譯后是"類servlet"。Servlet 和JSP 最主要的不同點(diǎn)在于,Servlet 的應(yīng)用邏輯是在Java 文件中,并且完全從表
12、示層中的HTML 里分離開來(lái)。而JSP 的情況是Java 和HTML 可以組合成一個(gè)擴(kuò)展名為.jsp 的文件。JSP 側(cè)重于視圖,Servlet 主要用于控制邏輯。21、詳細(xì)描述MVC。答:基于Java 的Web 應(yīng)用系統(tǒng)采用MVC 架構(gòu)模式,即model(模型)、view(視圖)、control(控制)分離設(shè)計(jì);這是目前WEB 應(yīng)用服務(wù)系統(tǒng)的主流設(shè)計(jì)方向。Model:即處理業(yè)務(wù)邏輯的模塊,每一種處理一個(gè)模塊;View:負(fù)責(zé)頁(yè)面顯示,顯示MODEL 處理結(jié)果給用戶,主要實(shí)現(xiàn)數(shù)據(jù)到頁(yè)面轉(zhuǎn)換過(guò)程;Control:負(fù)責(zé)每個(gè)請(qǐng)求的分發(fā),把FORM 數(shù)據(jù)傳遞給MODEL 處理,把處理結(jié)果的數(shù)據(jù)傳遞給VI
13、EW 顯示。22、UML 是什么?常用的幾種圖?1) UML 是統(tǒng)一建模語(yǔ)言。2) 常用圖包括:用例圖、活動(dòng)圖、類圖、對(duì)象圖、時(shí)序圖、協(xié)作圖、狀態(tài)圖等。23、你使用Rational XDE,常用來(lái)來(lái)做什么?答:描述自己的思路。(如:一個(gè)業(yè)務(wù)處理需要幾個(gè)類,類中需要幾個(gè)方法和屬性,可以繪圖描述,以便理解)24、編程題: 寫一個(gè)Singleton出來(lái)。Singleton模式主要作用是保證在Java應(yīng)用程序中,一個(gè)類Class只有一個(gè)實(shí)例存在。一般Singleton模式通常有兩種形式:餓漢式單例、懶漢式單例;餓漢式單例class Singleton /私有的構(gòu)造;private Singleton(
14、)System.out.println("Singleton構(gòu)造.");private static Singleton instance = new Singleton();/提供一靜態(tài)方法public static Singleton getInstance() return instance; class clientpublic static void main(String args)Singleton obj=Singleton.getInstance();obj=Singleton.getInstance();懶漢式單例class Singleton /私有的構(gòu)造;private Singleton()System.out.println("Singleton構(gòu)造.");private static Singleton instance = null;public static synchronized Singleton ge
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 質(zhì)量管理部2025年度客戶關(guān)系管理計(jì)劃
- 軟件開發(fā)科技企業(yè)簡(jiǎn)介范文
- 學(xué)校體育活動(dòng)安全保障計(jì)劃
- (部編教材)五年級(jí)語(yǔ)文上冊(cè)第三單元興趣培養(yǎng)計(jì)劃
- 醫(yī)療糾紛調(diào)解組織制度及流程規(guī)范
- 新入職教師職業(yè)行為準(zhǔn)則心得體會(huì)
- 小學(xué)四年級(jí)班主任班級(jí)志愿者培養(yǎng)計(jì)劃
- 一年級(jí)課外閱讀家長(zhǎng)參與計(jì)劃
- 三年級(jí)下冊(cè)科學(xué)課程提升計(jì)劃
- 人教版六年級(jí)語(yǔ)文暑假?gòu)?fù)習(xí)計(jì)劃
- 北京市大興區(qū)2025年初中學(xué)業(yè)水平考試地理真題(含答案)
- 辦公室應(yīng)聘題庫(kù)及答案
- 2025年黑龍江省龍東地區(qū)中考數(shù)學(xué)試卷
- 2025年河北中考地理真題含答案
- 國(guó)開機(jī)考答案 管理學(xué)基礎(chǔ)2025-06-27
- 美術(shù)機(jī)構(gòu)教師管理制度
- 2025至2030中國(guó)建筑水泥行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025年中國(guó)數(shù)據(jù)庫(kù)市場(chǎng)研究報(bào)告
- 國(guó)家開放大學(xué)《思想道德與法治》社會(huì)實(shí)踐報(bào)告范文一
- 2024年包頭市公安局招聘專職留置看護(hù)警務(wù)輔助人員筆試真題
- 【9語(yǔ)安徽中考卷】2025年安徽省中考招生考試真題語(yǔ)文試卷(真題+答案)
評(píng)論
0/150
提交評(píng)論