java重點面試題 – 針對java面試過程中經(jīng)常遇到的一些試題進行總結(jié)_第1頁
已閱讀1頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、1、overload和override的區(qū)別overload:方法的重載只在方法之間發(fā)生方法名相同,并且區(qū)分大小寫參數(shù)列表不同,具體是指參數(shù)的類型,個數(shù),順序不同返回值類型沒有要求,可以相同,也可以不同override:方法的覆蓋發(fā)生在父子類之間方法名稱,參數(shù)表,返回值都相同修飾符一樣或者更寬靜態(tài)方法只能被靜態(tài)方法覆蓋,沒有多態(tài)子類不能拋出比父類更多的異常2、接口和抽象類的區(qū)別抽象類(abstractclass):1).抽象類不能創(chuàng)建對

2、象,只可以聲明引用2).抽象類有構(gòu)造函數(shù)3).抽象類里面可以有抽象方法,也可以沒有4).如果一個類里面有抽象方法,則該類是抽象類5).如果一個類繼承抽象類,則該類不想成為抽象類,則必須實現(xiàn)抽象類里面的所有抽象方法接口(interface):是一個特殊的抽象類修飾屬性:3、string和StringBufferStringBuilder的區(qū)別String的長度是不可變的;StringBuffer的長度是可變的,如果你對字符串中的內(nèi)容經(jīng)常進

3、行操作,特別是內(nèi)容要修改時,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法;線程安全;StringBuilder是從JDK5開始,為StringBuffer該類補充了一個單個線程使用的等價類;通常應(yīng)該優(yōu)先使用StringBuilder類,因為它支持所有相同的操作,但由于它不執(zhí)行同步,所以速度更快。4、arrayListlinkedListvect的區(qū)別ArrayLi

4、st和Vect都是使用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素數(shù)大于實際存儲的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數(shù)組元素移動等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vect由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現(xiàn)存儲,按序號索引數(shù)據(jù)需要進行前向或后向遍歷,但是插入數(shù)據(jù)時只需要記錄本項的前后項即可,所以插入速度較快。7、數(shù)據(jù)庫連接

5、池的工作機制J2EE服務(wù)器啟動時會建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接??蛻舳顺绦蛐枰B接時,池驅(qū)動程序會返回一個未使用的池連接并將其表記為忙。如果當(dāng)前沒有空閑連接,池驅(qū)動程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定。當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個連接。實現(xiàn)方式,返回的Connection是原始Connection的代理,代理Connection的close方法不

6、是真正關(guān)連接,而是把它代理的Connection對象還回到連接池中。8、說出servlet的生命周期servlet是單例的,servlet是當(dāng)?shù)谝淮伟l(fā)出請求時實例化一個servlet。servlet有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務(wù)結(jié)束。這個生存期由javax.servlet.Servlet接口的initservice和destroy方法表達。Servlet被服務(wù)器實例化后,容器運行其init方法,請求到達

7、時運行其service方法,service方法自動派遣運行與請求對應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實例銷毀的時候調(diào)用其destroy方法。web容器加載servlet,生命周期開始。通過調(diào)用servlet的init()方法進行servlet的初始化。通過調(diào)用service()方法實現(xiàn),根據(jù)請求的不同調(diào)用不同的do()方法。結(jié)束服務(wù),web容器調(diào)用servlet的destroy()方法。10、strutsm

8、vc的介紹M(Model)層就相當(dāng)于后臺,V(View)相當(dāng)于前臺,C(Controller)層,相當(dāng)于控制頁面跳轉(zhuǎn);MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model層實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來實現(xiàn)。View層用于與用戶的交互,通常用JSP來實現(xiàn)。Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型

9、層可執(zhí)行的操作。各個層的實現(xiàn)技術(shù)舉例:M(Model)javaBean中DAOService構(gòu)成Model層一般由hibernatemybatis技術(shù)實現(xiàn)。模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯.C(servletstrutsactionspringaction)StrutsSpringMVC等技術(shù)??刂破鞴ぷ骶褪歉鶕?jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對象狀態(tài)。V(View)jspFreeMarker等技

評論

0/150

提交評論