- 相關(guān)推薦
J2EE工程師面試試題精選(附答案)
J2EE是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價值。下面YJBYS小編為大家整理了關(guān)于,希望對你有所幫助。
一、基礎(chǔ)問答
1.下面哪些類可以被繼承?
java.lang.Thread ()
java.lang.Number ()
java.lang.Double ()
java.lang.Math ()
java.lang.Void ()
java.lang.Class ()
java.lang.ClassLoader ()
2.抽象類和接口的區(qū)別
3.Hashtable的原理,并說出HashMap與Hashtable的區(qū)別
4.forward和redirect的區(qū)別
5.什么是Web容器?
6.解釋下面關(guān)于J2EE的名詞
(1)JNDI(2)JMS(3)JTA(4)JAF(5)RMI
7.EJB是基于哪些技術(shù)實(shí)現(xiàn)的?并說 出SessionBean和EntityBean的區(qū)別,StatefulBean和StatelessBean的區(qū)別.
8.XML的解析方法
9.什么是Web Service?
10.多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?
11.JSP中動態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?
二、Java編程與程序運(yùn)行結(jié)果
1.Java編程,打印昨天的當(dāng)前時刻
2.文件讀寫,實(shí)現(xiàn)一個計數(shù)器答案:
【參考答案】
第一題:
1.答:T T F F F F T
2.答:(1)接口可以被多重implements,抽象類只能被單一extends
(2)接口只有定義,抽象類可以有定義和實(shí)現(xiàn)
(3)接口的字段定義默認(rèn)為:public static final, 抽象類字段默認(rèn)是”friendly”(本包可見)
3.答:HashTable的原理:通過節(jié)點(diǎn)的關(guān)鍵碼確定節(jié)點(diǎn)的存儲位置,即給定節(jié)點(diǎn)的關(guān)鍵碼k,通過一定的函數(shù)關(guān)系H(散列函數(shù)),得到函數(shù)值H(k),將此值解釋為該節(jié)點(diǎn)的存儲地址.
HashMap 與Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null為關(guān)鍵碼的.
4.答:forward: an internal transfer in servlet
redirect: 重定向,有2次request,第2次request將丟失第一次的attributs/parameters等
5.答:實(shí)現(xiàn)J2EE規(guī)范中web協(xié)議的應(yīng)用.該協(xié)議定義了web程序的運(yùn)行時環(huán)境,包括:并發(fā)性,安全性,生命周期管理等等.
6.答:(1)JNDI:Java Naming & Directory Interface,JAVA命名目錄服務(wù).主要提供的功能是:提供一個目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能.
(2)JMS:Java Message Service,JAVA消息服務(wù).主要實(shí)現(xiàn)各個應(yīng)用程序之間的通訊.包括點(diǎn)對點(diǎn)和廣播.
(3)JTA:Java Transaction API,JAVA事務(wù)服務(wù).提供各種分布式事務(wù)服務(wù).應(yīng)用程序只需調(diào)用其提供的接口即可.
(4)JAF: Java Action FrameWork,JAVA安全認(rèn)證框架.提供一些安全控制方面的框架.讓開發(fā)者通過各種部署和自定義實(shí)現(xiàn)自己的個性安全控制策略.
(5)RMI:Remote Method Interface,遠(yuǎn)程方法調(diào)用
7.答:EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技術(shù)實(shí)現(xiàn).
SessionBean在J2EE應(yīng)用程序中被用來完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪問數(shù)據(jù)庫、調(diào)用其他EJB組件.EntityBean被用來代表 應(yīng)用系統(tǒng)中用到的數(shù)據(jù).對于客戶機(jī),SessionBean是一種非持久性對象,它實(shí)現(xiàn)某些在服務(wù)器上運(yùn)行的業(yè)務(wù)邏輯;EntityBean是一種持久性 對象,它代表一個存儲在持久性存儲器中的實(shí)體的對象視圖,或是一個由現(xiàn)有企業(yè)應(yīng)用程序?qū)崿F(xiàn)的實(shí)體.
Session Bean 還可以再細(xì)分為 Stateful Session Bean 與 Stateless Session Bean .這兩種的 Session Bean都可以將系統(tǒng)邏輯放在 method之中執(zhí)行,不同的是 Stateful Session Bean 可以記錄呼叫者的狀態(tài),因此通常來說,一個使用者會有一個相對應(yīng)的 Stateful Session Bean 的實(shí)體.Stateless Session Bean 雖然也是邏輯組件,但是他卻不負(fù)責(zé)記錄使用者狀態(tài),也就是說當(dāng)使用者呼叫 Stateless Session Bean 的時候,EJB Container 并不會找尋特定的 Stateless Session Bean 的實(shí)體來執(zhí)行這個 method.換言之,很可能數(shù)個使用者在執(zhí)行某個 Stateless Session Bean 的 methods 時,會是同一個 Bean 的 Instance 在執(zhí)行.從內(nèi)存方面來看, Stateful Session Bean 與 Stateless Session Bean 比較, Stateful Session Bean 會消耗 J2EE Server 較多的內(nèi)存,然而 Stateful Session Bean 的優(yōu)勢卻在于他可以維持使用者的狀態(tài).
8.答:Sax,DOM,JDOM
9.答:Web Service就是為了使原來各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口。
Web Service所使用的是Internet上統(tǒng)一、開放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡單對象訪問協(xié)議)、WSDL等,所以Web Service可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows,Linux)中使用。
注:SOAP協(xié)議(Simple Object Access Protocal,簡單對象訪問協(xié)議),它是一個用于分散和分布式環(huán)境下網(wǎng)絡(luò)信息交換的基于XML的通訊協(xié)議。在此協(xié)議下,軟件組件或應(yīng)用程序能夠通過標(biāo) 準(zhǔn)的HTTP協(xié)議進(jìn)行通訊。它的設(shè)計目標(biāo)就是簡單性和擴(kuò)展性,這有助于大量異構(gòu)程序和平臺之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶訪問。
優(yōu)勢:
(1).跨平臺。
(2).SOAP協(xié)議是基于XML和HTTP這些業(yè)界的標(biāo)準(zhǔn)的,得到了所有的重要公司的支持。
(3).由于使用了SOAP,數(shù)據(jù)是以ASCII文本的方式而非二進(jìn)制傳輸,調(diào)試很方便;并且由于這樣,它的數(shù)據(jù)容易通過防火墻,不需要防火墻為了程序而單獨(dú)開一個“漏洞”。
(4).此外,WebService實(shí)現(xiàn)的技術(shù)難度要比CORBA和DCOM小得多。
(5).要實(shí)現(xiàn)B2B集成,EDI比較完善與比較復(fù)雜;而用WebService則可以低成本的實(shí)現(xiàn),小公司也可以用上。
(6).在C/S的程序中,WebService可以實(shí)現(xiàn)網(wǎng)頁無整體刷新的與服務(wù)器打交道并取數(shù)。
缺點(diǎn):
(1).WebService使用了XML對數(shù)據(jù)封裝,會造成大量的數(shù)據(jù)要在網(wǎng)絡(luò)中傳輸。
(2).WebService規(guī)范沒有規(guī)定任何與實(shí)現(xiàn)相關(guān)的細(xì)節(jié),包括對象模型、編程語言,這一點(diǎn),它不如CORBA。
10.答:多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類與實(shí)現(xiàn)Runnable接口;同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify
11.答:動態(tài)INCLUDE用jsp:include動作實(shí)現(xiàn)
它總是會檢查所含文件中的變化,適合用于包含動態(tài)頁面,并且可以帶參數(shù)
靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會檢查所含文件的變化,適用于包含靜態(tài)頁面
第二題:
1.答:
public class YesterdayCurrent{
public void main(String[] args){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
System.out.println(cal.getTime());
}
}
2.答:
public int getNum(){
int i = -1;
try{
String stri=”";
BufferedReader in = new BufferedReader(new FileReader(f));
while((stri=in.readLine())!=null){
i = Integer.parseInt(stri.trim());
}
in.close();
}catch(Exception e){
e.printStackTrace();
}
return i;
}
【J2EE工程師面試試題附答案】相關(guān)文章:
J2EE經(jīng)典面試題及答案08-08
J2EE面試題及答案「精選」09-20
2016年J2EE面試題及答案「精選」06-04
photoshop試題附答案07-15
關(guān)于J2EE MVC方面的面試題及答案07-08
J2EE筆試題目及答案10-23
2017咨詢工程師考試模擬試題(附答案)08-10
2017安全工程師考試精選試題(附答案)08-06