1、ArrayList和Vector的區別,HashMap和Hashtable的區別?
答:ArrayList與Vector主要從二方面來說
a、同步性:Vector是安全執行緒的,也就是說是同步的,而ArrayList是線程式不安全的,不是同步的
b、資料增長:當需要增長時,Vector預設增長為原來一倍,而ArrayList卻是原來的一半
HashMap與HashTable主要從三方面來說
a、曆史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是Java 1.2引進的Map介面的一個實現
b、同步性:Hashtable是安全執行緒的,也就是說是同步的,而HashMap是線程式不安全的,不是同步的
c、值:只有HashMap可以讓你將空值作為一個表的條目的key或value
2、多線程有幾種實現方法,都是什麼?同步有幾種實現方法,都是什麼?
答:多線程有兩種實現方法,分別是繼承Thread類與實現Runnable介面
同步的實現方面有兩種,分別是synchronized,wait與notify
3、JSP有哪些內建對象?作用分別是什麼?
答:JSP共有以下9種基本內建群組件(可與ASP的6種內部組件相對應):
request 使用者端請求,此請求會包含來自GET/POST請求的參數
response 網頁傳回使用者端的回應
pageContext 網頁的屬性是在這裡管理
session 與請求有關的會話期
application servlet正在執行的內容
out 用來傳送回應的輸出
config servlet的構架組件
page JSP網頁本身
exception 針對錯誤網頁,未捕捉的例外
4、jsp有哪些動作?作用分別是什麼?
答:JSP共有以下6種基本動作
jsp:include:在頁面被請求的時候引入一個檔案。
jsp:useBean:尋找或者執行個體化一個JavaBean。
jsp:setProperty:設定JavaBean的屬性。
jsp:getProperty:輸出某個JavaBean的屬性。
jsp:forward:把請求轉到一個新的頁面。
jsp:plugin:根據瀏覽器類型為Java外掛程式產生OBJECT或EMBED標記
5、JAVA SERVLET API中forward() 與redirect()的區別?
答: 前者僅是容器中控制權的轉向,在用戶端瀏覽器地址欄中不會顯示出轉向後的地址;後者則是完全的跳轉,瀏覽器將會得到跳轉的地址,並重新發送請求連結。這樣,從瀏覽器的地址欄中可以看到跳轉後的連結地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,並且,這樣也有助於隱藏實際的連結。在有些情況下,比如,需要跳轉到一個其它伺服器上的資源,則必須使用sendRedirect()方法。
6、EJB與JAVA BEAN的區別?
答:Java Bean 是可複用的組件,對Java Bean並沒有嚴格的規範,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由於 Java Bean是被容器所建立(如Tomcat)的,所以Java Bean應具有一個無參的構造器,另外,通常 Java Bean還要實現Serializable介面用於實現Bean的持久性。Java Bean實際上相當於微軟COM模型中的本地進程內COM組件,它是不能被跨進程訪問的。Enterprise
Java Bean 相當於DCOM,即分布式組件。它是基於Java的遠程方法調用(RMI)技術的,所以EJB可以被遠端存取(跨進程、跨電腦)。但EJB必須被布署在諸如Webspere、 WebLogic這樣的容器中,EJB客戶從不直接存取真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所建立和管理。客戶通過容器來訪問真正的EJB組件。