資源描述:
《java軟件工程師實(shí)用面試題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、1.hibernate中離線查詢?nèi)コ貜?fù)項(xiàng)怎么加條件?dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);2.http協(xié)議及端口,smtp協(xié)議及端口http:超文本傳輸協(xié)議端口80smtp:簡(jiǎn)單郵件傳輸協(xié)議端口253.編寫程序,完成文件復(fù)制功能4.Servlet創(chuàng)建過程及生命周期Servlet在容器中運(yùn)行時(shí),其實(shí)例的創(chuàng)建及銷毀等是由容器進(jìn)行控制。Servlet的創(chuàng)建有兩種方法。1).客戶端請(qǐng)求對(duì)應(yīng)的Servlet時(shí),創(chuàng)建Servlet實(shí)例;大部分Servlet都是這種Servlet。2).通過在web.xml中設(shè)置load
2、-on-startup來創(chuàng)建servlet實(shí)例,這種實(shí)例在Web應(yīng)用啟動(dòng)時(shí),立即創(chuàng)建Servlet實(shí)例Servlet的運(yùn)行都遵循如下生命周期:1).創(chuàng)建Servlet實(shí)例。2).Web容器調(diào)用Servlet的init()方法,對(duì)Servlet進(jìn)行初始化。3).Servlet初始化后,將一直存在于容器中,用于響應(yīng)客戶端請(qǐng)求。根據(jù)客戶端的請(qǐng)求方式通過Servlet中service()方法去相應(yīng)的doXXX()方法;4).Web容器銷毀Servlet時(shí),調(diào)用Servlet的destroy()方法,通常在關(guān)閉Web容器之時(shí)銷毀Servlet。5.用sql語句分頁:Mysql數(shù)據(jù)庫(kù):SEL
3、ECT?TOP?頁大小?*FROM?table1WHERE?id?NOT?IN(SELECT?TOP?頁大小*(頁數(shù)-1)?id?FROM?table1?ORDER?BY?id)ORDER?BY?id?Oracle數(shù)據(jù)庫(kù):在ORACLE大數(shù)據(jù)量下的分頁解決方法。一般用截取ID方法,還有是三層嵌套方法。截取ID的方法select*fromempa,(selectempno,rownumasnumfromemp)bwherea.empno=b.empnoandb.numbetween5and7;三層嵌套SELECT*FROM(SELECTA.*,rownumrFROM(SELECT*
4、FROMemp)AWHERErownum<=7)BWHEREr>5;1.list.map.set的存儲(chǔ)特點(diǎn)?List以特定次序來持有元素,可有重復(fù)元素.Set無法擁有重復(fù)元素,內(nèi)部排序.Map保存key-value值,value可多值2.final,finally,finaliz的區(qū)別final—修飾符(關(guān)鍵字)如果一個(gè)類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個(gè)類不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們?cè)谑褂弥胁槐桓淖儭1宦暶鳛閒inal的變量必須在聲明時(shí)給定初值,而在以后的引用中只
5、能讀取,不可修改被聲明為final的方法也同樣只能使用,不能重載。finally—再異常處理時(shí)提供finally塊來執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配的catch子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入finally塊(如果有的話)。finalize—方法名。Java技術(shù)允許使用finalize()方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)象沒有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在Object類中定義的,因此所有的類都繼承了它。子類覆蓋;finalize()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作finalize()方法是在垃圾收集
6、器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的。3.arraylist和vector的區(qū)別?1).同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程不安全的,不是同步的2).數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)為原來一培,而ArrayList卻是原來的一半4.說出ArrayList,Vector,LinkedList的存儲(chǔ)性能和特性?1).ArrayList采用的是數(shù)組形式來保存對(duì)象的,這種方式將對(duì)象放在連續(xù)的位置中,所以最大的缺點(diǎn)就是插入刪除時(shí)非常麻煩LinkedList采用的將對(duì)象存放在獨(dú)立的空間中,而且在每個(gè)空間中還保存下一個(gè)鏈接的索引但是缺點(diǎn)就是查找非
7、常麻煩要叢第一個(gè)索引開始2).ArrayList和Vector都是用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)要大于實(shí)際的存儲(chǔ)空間以便進(jìn)行元素增加和插入操作,他們都允許直接用序號(hào)索引元素,但是插入數(shù)據(jù)元素涉及到元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢.3).Vector使用了sychronized方法(線程安全),所以在性能上比ArrayList要差些.4).LinkedList使用雙向鏈表方式存儲(chǔ)數(shù)據(jù),按序號(hào)索引數(shù)據(jù)需要前向或后向遍歷數(shù)據(jù),所以索引數(shù)據(jù)慢,是插入數(shù)據(jù)時(shí)只需要記錄前后項(xiàng)