JAVA面試題目匯總_第1頁
JAVA面試題目匯總_第2頁
JAVA面試題目匯總_第3頁
JAVA面試題目匯總_第4頁
JAVA面試題目匯總_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1. Java 中多態有哪些表現形式,都有什么區別a) Overrideb) Overload區別:1) override 是父類與子類之間多態性的一種表現, overload 是一個類中多態 性的一種表現。2) 如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重 寫 (Overriding) 。子類的對象使用這個方法時,將調用子類中的定義,對 它而言,父類中的定義如同被 屏蔽 了。3) 如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同 的參數類型或有不同的參數次序,則稱為方法的重載 (Overloading) 。2. Abstract class 和 int

2、erface 有什么區別a) 抽象類中可以有實體方法,接口中的方法全部是抽象方法b) 接口中的方法全部是 public 的,屬性全部是 public static final的。抽象類則和其他類類似。c) 一個類可以實現多個接口,但只能繼承一個抽象類。3. List, Set, Map 幾個接口有什么共同點和不同點a) 都是 java.util 包下的接口b) List 和 Set 都是 Collection 的子接口, Map沒有父接口c) List 的元素是有序的,元素可以重復。 Set 的元素不能保證次序,存入的元 素不能有重復。d) Map使用 key-value 來映射和存儲數據,

3、Key 必須惟一, value 可以重復。4. 請解釋一下 Java 的泛型,使用泛型有什么好處a) 泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數。 這種參數類型可以用在類、接口和方法的創建中,分別稱為泛型類、泛型 接口、泛型方法b) 泛型的好處是在編譯的時候檢查類型安全,并且所有的強制轉換都是自動和隱式的,提高代碼的重用率5. 多線程有幾種實現方法 , 都是什么 ?同步有幾種實現方法 ,都是什么?a) 多線程有兩種實現方法,分別是繼承 Thread 類與實現 Runnable 接口b) 同步的實現方面有兩種,分別是 synchronized,wait 與 notify6.

4、 Java 類實現 Serializable 接口有什么用處, Serializable 接口需要實現什么 方法a) 實現 Serializable 接口的類才可以被序列化,才可以在網絡或者進行 I/O 讀取操作。b) 實現 Serializable 接口不需要實現任何方法。7. 說出 Servlet 的生命周期Servlet 被服務器實例化后,容器運行其 init 方法,請求到達時運行其service 方法, service 方法自動派遣運行與請求對應的 doXXX方法( doGet,doPost )等,當服務器決定將實例銷毀的時候調用其 destroy 方法8. 說出數據連接池的工作機制是

5、什么J2EE 服務器啟動時會建立一定數量的池連接,并一直維持不少于此數目的池連接。客戶端程序需要連接時,池驅動程序會返回一個未使用的池連接并將其表記為忙。如果當前沒有空閑連接,池驅動程序就新建一定數量的連接,新建連接的數量有配置參數決定。當使用的池連接調用完成后,池驅動程序將此連接 表記為空閑,其他調用就可以使用這個連接。9. 解析 XML文檔有哪幾種方式 ?a) DOM: DOM在解析文件之前把整個文檔裝入內存,如果處理大型文件時其性 能下降的非常厲害。這個問題是由 DOM的樹結構所造成的,這種結構占用 的內存較多,適合對 XML的隨機訪問。b) SAX: SAX 是事件驅動型的 XML解析

6、方式。它順序讀取 XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結束時,它會觸發一個事件,用戶通過在其回調事件中寫入處理代碼來處理 XML文件,適合對 XML的順序訪問c) StAX: StAX 把重點放在流上。實際上, StAX 與其他方法的區別就在于應 用程序能夠把 XML 作為一個事件流來處理。將 XML 作為一組事件來處理 的想法并不新穎(事實上 SAX 已經提出來了) ,但不同之處在于 StAX 允 許應用程序代碼把這些事件逐個拉出來,而不用提供在解析器方便時從解 析器中接收事件的處理程序。10. EJB有幾種類型,他們之間的區別有哪些?a)

7、Session Bean, Entity Bean, Message-Driven Beanb) SessionBean 是一種非持久性對象,它實現某些在服務器上運行的業務邏 輯。c) EntityBean 是一種持久性對象,它代表一個存儲在持久性存儲器中的實體 的對象視圖,或是一個由現有企業應用程序實現的實體。11. 請說出 IOC和 AOP的概念以及在 spring 中是如何應用的a) IoC 的全稱是 Inversion of Control 即控制反轉。 IoC 模式中 , 創建對象實 例的任務交給 IoC 容器或框架,使得應用代碼只需要直接使用實例b) AOP的全稱是 Aspect-

8、Oriented Programming 即面向方面編程。 AOP的核心 思想就是“將應用程序中的商業邏輯同對其提供支持的通用服務進行分 離”。它允許程序員對橫切關注點或橫切典型的職責分界線的行為(例如日 志和事務管理)進行模塊化。 AOP 的核心構造是方面,它將那些影響多個 類的行為封裝到可重用的模塊中。c) Spring 的核心容器的主要組件是 BeanFactory ,它是工廠模式的實現。 BeanFactory 使用控制反轉 ( IOC)模式將應用程序的配置和依賴性規范 與實際的應用程序代碼分開。d) 通過配置管理特性, Spring AOP 模塊直接將面向方面的編程功能集成到了 Sp

9、ring 框架中。所以,可以很容易地使 Spring 框架管理的任何對象支持 AOP。Spring AOP 模塊為基于 Spring 的應用程序中的對象提供了事務管 理服務。通過使用 Spring AOP ,不用依賴 EJB 組件,就可以將聲明性事 務管理集成到應用程序中。12. 如何集成 strut2 、Spring 和 hibernate ,需要做什么樣的工作?a) 在 web.xml 中 配 置 spring contextConfigLocation 和 strut2 的 FilterDispatcherb) 在 struts.xml 中配置 struts.objectFactory

10、屬性為 springc) 在 spring 的 context xml 中 配 置 hibernate 的 datasource 和 sessionfactory.13. Hibernate 的延遲加載有什么意義?如果配置了延遲加載,在頁面前端用到 了延遲加載的屬性,會有什么問題,如何避免?a) 設置屬性的延遲加載可以避免不必要的數據庫讀取,只有在真正調用屬性 get 方法的時候才讀取數據庫,可以減少對數據庫訪問次數,提高加載速 度。b) 如果配置了延遲加載屬性,在頁面前端使用時會因為 sessionfactory 已經 關 閉 ,導 致 屬 性 無 法獲 取 。 可 以 通 過 在 web.

11、xml 中 配 置 OpenSessionInView 的 filter 來避免。14. 常見的 ajax 的框架有哪些?介紹一下你所熟悉框架的用法。dwr, jquery, json, dojo, prototype 15. String 和 Stringbuffer 間有和區別后者的長度可變16. Dependency lookup 和 Dependency Injection 是 Spring 框架的哪個特性? 兩者之間有何區別?17. Dependency Injection 有幾種類型Setter Injection 和 Constructor Injection18. IOC Co

12、ntainer 提供了兩者類型的 Containter ,是哪兩種? 它們之間有何 區別BeanFactory :4ApplicationContext: Context 預先 Loading 所有的 SingleTon Bean ,即啟動時不需要等待 Bean 的生成。另外它提供了對國際化的支持。19. Bean的三中實例化方式(1)不需要特定的 Interface(2)Static Factory Method(3)Instance Factory Method20. Anotation 是什么?它有什么作用?列舉幾個用過的 Anotation 并說明?如 何自定義一個retention,

13、 target, resource 等21. jsp 有哪些內置對象 ?作用分別是什么 ?JSP 共有以下 9 種基本內置組件:request 用戶端請求,此請求會包含來自 GET/POST請求的參數response 網頁傳回用戶端的回應pageContext 網頁的屬性是在這里管理session 與請求有關的會話期application servlet 正在執行的內容out 用來傳送回應的輸出config servlet 的構架部件page JSP 網頁本身exception 針對錯誤網頁,未捕捉的例外22. spring 的聲明式事務是如何實現的 用到了什么設計模式 通過動態代理模式實現

14、同時有 AOP的概念23. hibernate 的 cascade 和 inverse 的概念區別cascade 級聯 inverse 是鏡像24. 談談 struts1.x 中的 ActionServlet 和 Action 分別使用到了 J2EE 的哪 些設計模式FrontController, command 模式25. Socket 編程中 TCP/IP 協議 和 UDP 協議的區別 三次握手 郵件26. 如何實現無阻塞的 Socket 編程 NIO 概念利用 NIO 的通道 事件響應 selector 注冊來達到無阻塞27. 數據庫 臟讀 不可重復讀 幻影讀的概念 以及如何避免以上情

15、況 讀取到其他事務未提交的操作 讀取到其他事務已經提交的操作先后兩次讀取 同樣的檢索 由于有其他事務的影響 結果集的數目發生變化 利用鎖 , 事務隔離級別28. 如果看待選擇 hibernate 的 session.delete 方法執行大批量數據刪除操作 產生大量對象 建議直接用 jdbc 刪除29. prototype 中閉包的概念 closure javascript中作用域的申明 和生成地點綁定30. 如何防止內存泄漏釋放該釋放的資源 利用 LUR FIFO 等算法替換長時間無用的對象 避免內 存不足利用 weakreference 立即釋放對象資源 softreference 內存不

16、足時候回收 資源 不必等到垃圾回收點的觸發養成良好的 try finally習慣 在 finally 中手動釋放資源31. 數組如何聲明,實例化,特別是二維數組 數組聲明的方式一般有兩種, 比如一個 int 數組 : int intArray;int intArray; 都可以,推薦使用第一種,數組的實例化是通過 new關鍵字實現的, int intArray = new int3;二維數組,比如定義一個 2 行 3 列的數組 int intArray = new int23;實際上。對于每行列數可以不同32. 關于 GC,列舉常見的垃圾回收算法 引用計數法 (Reference Counti

17、ng Collector)跟蹤法 (Tracing Collector)compacting 算法 (Compacting Collector)copying 算法 (Coping Collector) 等等,一般常用的引用計數法 和跟蹤法33. Struts1 Struts2 Spring Mvc 的前端控制器分別是什么,講述其中一種 MVC 的工作流程Struts1 采用 servlet 作為前端控制器,具體為 ActionServletStruts2 采用 Filter 作為前端控制器,具體為 FilterDispatcherSpring 采用 servlet 作為前端控制器,具體為 DispatcherServlet34. 如何格式化日期,比如系統時間,格式為YYYY-MM-DD 如, 何做日期的加減,比如取當前日期之前 60 天SimpleDateFormat ,比如 SimpleDateFormat format=new SimpleDateFormat(YYYY-MM-DD);利用定義好的 SimpleDateFormat 對象,完成 Date 與字符串的轉 換,比如 format()- 按照指定格式,將 date 格式化為字符串, parse()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論