J2EE面試題集錦(附答案)

/**
* 題目答案來(lái)源于網(wǎng)絡(luò),不能保證其正確或完整性,僅供參考
**/

一、基礎(chǔ)問(wèn)答

成都創(chuàng)新互聯(lián):公司2013年成立為各行業(yè)開(kāi)拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為上千多家公司企業(yè)提供了專(zhuān)業(yè)的成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站推廣服務(wù), 按需定制開(kāi)發(fā)由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶(hù)的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺(jué)效果,策劃師分析客戶(hù)的同行競(jìng)爭(zhēng)對(duì)手,根據(jù)客戶(hù)的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶(hù)同行業(yè)具有領(lǐng)先地位的。

1.下面哪些類(lèi)可以被繼承?

java.lang.Thread (T)
   java.lang.Number (T)
   java.lang.Double (F)
   java.lang.Math (F)
   java.lang.Void (F)
   java.lang.Class (F)
   java.lang.ClassLoader (T)

2.抽象類(lèi)和接口的區(qū)別

(1)接口可以被多重implements,抽象類(lèi)只能被單一extends
  (2)接口只有定義,抽象類(lèi)可以有定義和實(shí)現(xiàn)
  (3)接口的字段定義默認(rèn)為:public static final, 抽象類(lèi)字段默認(rèn)是"friendly"(本包可見(jiàn))

3.Hashtable的原理,并說(shuō)出HashMap與Hashtable的區(qū)別

HashTable的原理:通過(guò)節(jié)點(diǎn)的關(guān)鍵碼確定節(jié)點(diǎn)的存儲(chǔ)位置,即給定節(jié)點(diǎn)的關(guān)鍵碼k,通過(guò)一定的函數(shù)關(guān)系H(散列函數(shù)),得到函數(shù)值H(k),將此值解釋為該節(jié)點(diǎn)的存儲(chǔ)地址.
HashMap 與Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null為關(guān)鍵碼的.

4.forward和redirect的區(qū)別

forward: an internal transfer in servlet
  redirect: 重定向,有2次request,第2次request將丟失第一次的attributs/parameters等

5.什么是Web容器?

實(shí)現(xiàn)J2EE規(guī)范中web協(xié)議的應(yīng)用.該協(xié)議定義了web程序的運(yùn)行時(shí)環(huán)境,包括:并發(fā)性,安全性,生命周期管理等等.

6.解釋下面關(guān)于J2EE的名詞

(1)JNDI:Java Naming & Directory Interface,JAVA命名目錄服務(wù).主要提供的功能是:提供一個(gè)目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿(mǎn)足快速查找和定位分布式應(yīng)用程序的功能.
  (2)JMS:Java Message Service,JAVA消息服務(wù).主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊.包括點(diǎn)對(duì)點(diǎn)和廣播.
  (3)JTA:Java Transaction API,JAVA事務(wù)服務(wù).提供各種分布式事務(wù)服務(wù).應(yīng)用程序只需調(diào)用其提供的接口即可.
  (4)JAF: Java Action FrameWork,JAVA安全認(rèn)證框架.提供一些安全控制方面的框架.讓開(kāi)發(fā)者通過(guò)各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制策略.
  (5)RMI:Remote Method Interface,遠(yuǎn)程方法調(diào)用

7.EJB是基于哪些技術(shù)實(shí)現(xiàn)的?并說(shuō) 出SessionBean和EntityBean的區(qū)別,StatefulBean和StatelessBean的區(qū)別.

EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技術(shù)實(shí)現(xiàn).

SessionBean在J2EE應(yīng)用程序中被用來(lái)完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)、調(diào)用其他EJB組件.EntityBean被用來(lái)代表應(yīng)用系統(tǒng)中用到的數(shù)據(jù).對(duì)于客戶(hù)機(jī),SessionBean是一種非持久性對(duì)象,它實(shí)現(xiàn)某些在服務(wù)器上運(yùn)行的業(yè)務(wù)邏輯;EntityBean是一種持久性對(duì)象,它代表一個(gè)存儲(chǔ)在持久性存儲(chǔ)器中的實(shí)體的對(duì)象視圖,或是一個(gè)由現(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),因此通常來(lái)說(shuō),一個(gè)使用者會(huì)有一個(gè)相對(duì)應(yīng)的 Stateful Session Bean 的實(shí)體.Stateless Session Bean 雖然也是邏輯組件,但是他卻不負(fù)責(zé)記錄使用者狀態(tài),也就是說(shuō)當(dāng)使用者呼叫 Stateless Session Bean 的時(shí)候,EJB Container 并不會(huì)找尋特定的 Stateless Session Bean 的實(shí)體來(lái)執(zhí)行這個(gè) method.換言之,很可能數(shù)個(gè)使用者在執(zhí)行某個(gè) Stateless Session Bean 的 methods 時(shí),會(huì)是同一個(gè) Bean 的 Instance 在執(zhí)行.從內(nèi)存方面來(lái)看, Stateful Session Bean 與 Stateless Session Bean 比較, Stateful Session Bean 會(huì)消耗 J2EE Server 較多的內(nèi)存,然而 Stateful Session Bean 的優(yōu)勢(shì)卻在于他可以維持使用者的狀態(tài).

8.XML的解析方法

Sax,DOM,JDOM

9.什么是Web Service?

Web Service就是為了使原來(lái)各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口。
Web Service所使用的是Internet上統(tǒng)一、開(kāi)放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議)、WSDL等,所以Web Service可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows,Linux)中使用。

注:SOAP協(xié)議(Simple Object Access Protocal,簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議),它是一個(gè)用于分散和分布式環(huán)境下網(wǎng)絡(luò)信息交換的基于XML的通訊協(xié)議。在此協(xié)議下,軟件組件或應(yīng)用程序能夠通過(guò)標(biāo)準(zhǔn)的HTTP協(xié)議進(jìn)行通訊。它的設(shè)計(jì)目標(biāo)就是簡(jiǎn)單性和擴(kuò)展性,這有助于大量異構(gòu)程序和平臺(tái)之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶(hù)訪(fǎng)問(wèn)。

優(yōu)勢(shì):

(1).跨平臺(tái)。
  (2).SOAP協(xié)議是基于XML和HTTP這些業(yè)界的標(biāo)準(zhǔn)的,得到了所有的重要公司的支持。
  (3).由于使用了SOAP,數(shù)據(jù)是以ASCII文本的方式而非二進(jìn)制傳輸,調(diào)試很方便;并且由于這樣,它的數(shù)據(jù)容易通過(guò)防火墻,不需要防火墻為了程序而單獨(dú)開(kāi)一個(gè)“漏洞”。
  (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)頁(yè)無(wú)整體刷新的與服務(wù)器打交道并取數(shù)。

缺點(diǎn):

(1).WebService使用了XML對(duì)數(shù)據(jù)封裝,會(huì)造成大量的數(shù)據(jù)要在網(wǎng)絡(luò)中傳輸。
  (2).WebService規(guī)范沒(méi)有規(guī)定任何與實(shí)現(xiàn)相關(guān)的細(xì)節(jié),包括對(duì)象模型、編程語(yǔ)言,這一點(diǎn),它不如CORBA。

10.多線(xiàn)程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?

答:多線(xiàn)程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類(lèi)與實(shí)現(xiàn)Runnable接口
  同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify

11.JSP中動(dòng)態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?

動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn)

它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁(yè)面,并且可以帶參數(shù)

靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁(yè)面

<%@ include file="included.htm" %>

二、Java編程與程序運(yùn)行結(jié)果

1.Java編程,打印昨天的當(dāng)前時(shí)刻

public class YesterdayCurrent{
public void main(String[] args){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
System.out.println(cal.getTime());
}
}

2.文件讀寫(xiě),實(shí)現(xiàn)一個(gè)計(jì)數(shù)器

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;
}
public void setNum(){
int i = getNum();
i++;
try{
PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(f,false)));
out.write(String.valueOf(i)); //可能是編碼的原因,如果直接寫(xiě)入int的話(huà),將出現(xiàn)java編碼和windows編碼的混亂,因此此處寫(xiě)入的是String
out.close() ;
}catch(Exception e){
e.printStackTrace();
}
}

3. 指出下面程序的運(yùn)行結(jié)果:

class A{
static{
System.out.print("1");
}
public A(){
System.out.print("2");
}
}
class B extends A{
static{
System.out.print("a");
}
public B(){
System.out.print("b");
}
}
public class Hello{
public static void main(String[] ars){
A ab = new B(); //執(zhí)行到此處,結(jié)果: 1a2b
ab = new B(); //執(zhí)行到此處,結(jié)果: 1a2bab
}
}

注:類(lèi)的static 代碼段,可以看作是類(lèi)首次加載(被虛擬機(jī)加載)執(zhí)行的代碼,而對(duì)于類(lèi)的加載,首先要執(zhí)行其基類(lèi)的構(gòu)造,再執(zhí)行其本身的構(gòu)造

4.寫(xiě)一個(gè)Singleton模式的例子

public class Singleton{
private static Singleton single = new Singleton();
private Singleton(){}
public Singleton getInstance(){
return single;
}
}

三、數(shù)據(jù)庫(kù)

1.刪除表的重復(fù)記錄

如果記錄完全相同才算重復(fù)記錄,那么: (sql server2000下測(cè)試通過(guò))

select distinct * into #tmpp from tid
delete from tid
insert into tid select * from #tmpp
drop table #tmpp

如果有id主鍵(數(shù)字,自增1的那種),那么:(sql server2000下測(cè)試通過(guò))

delete from tableA where id not in
(select id = min(id) from tableA group by name)

2.delete from tablea & truncate table tablea的區(qū)別

truncate 語(yǔ)句執(zhí)行速度快,占資源少,并且只記錄頁(yè)刪除的日志;
  delete 對(duì)每條記錄的刪除均需要記錄日志

[@more@]

網(wǎng)頁(yè)標(biāo)題:J2EE面試題集錦(附答案)
本文網(wǎng)址:http://bm7419.com/article16/jddpgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、搜索引擎優(yōu)化、商城網(wǎng)站、服務(wù)器托管、網(wǎng)頁(yè)設(shè)計(jì)公司電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)