第 1 章 Java 基本概念
- Java 語言的優點?
- 什么是 Java 虛擬機?為什么 Java 被稱作是“平臺無關的編程語言”?
- Java 和 C++ 有何區別?
- JDK 和 JRE 的區別是什么?
- Java 支持的數據類型有哪些?什么是自動拆裝箱?
- 什么是值傳遞和引用傳遞?
- 一個 ".java" 源文件中是否可以包括多個類(不是內部類)?有什么限制?
- 靜態變量和實例變量的區別?
- 不通過構造函數也能創建對象嗎?
- 靜態變量和實例變量的區別?
- 是否可以從一個靜態(static)方法內部發出對非靜態(non-static)方法的調用?
- 如何實現對象克隆?
- 一個“.java”源文件中是否可以包含多個類(不是內部類)?有什么限制?
- Anonymous Inner Class(匿名內部類)是否可以繼承其它類?是否可以實現接口?
- 內部類可以引用它的包含類(外部類)的成員嗎?有沒有什么限制?
- 列出自己常用的 jdk 包
- JDK, JRE 和 JVM 的區別?
第 2 章 面向對象編程
- Java 中的方法覆蓋 (Overriding) 和方法重載 (Overloading) 是什么意思?
- Overload 和 Override 的區別? Overloaded 的方法是否可以改變返回值的類型?
- Java 中,什么是構造函數?什么是構造函數重載?什么是復制構造函數?
- 構造器 Constructor 是否可被 Override?
- Java 支持多繼承么?
- 接口和抽象類的區別是什么?
- 下列說法正確的有()
- Java 接口的修飾符可以為?
- 下面是 People 和 Child 類的定義和構造方法,每個構造方法都輸出編號。在執行 new Chil d("mike") 的時候都有哪些構造方法被順序調用?請選擇輸出結果
- 構造器(constructor)是否可被重寫(override)?
- 兩個對象值相同(x.equals(y) == true),但卻可有不同的 hash code,這句話對不對?
- 接口是否可繼承(extends)接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼 承具體類(concrete class)?
- 指出下面程序的運行結果:
- Class.forName(String className)這個方法的作用
- 什么是 AOP 和 OOP,IOC 和 DI 有什么不同?
- 判斷下列語句是否正確,如果有錯誤,請指出錯誤所在?
第 3 章 關鍵字
- ”static” 關鍵字是什么意思?Java 中是否可以覆蓋(override) 一個 private 或者是 static 的 方法?
- 是否可以在 static 環境中訪問非 static 變量?
- 訪問修飾符 public, private, protected, 以及不寫(默認)時的區別?
- volatile關鍵字是否能保證線程安全?
- Java 有沒有 goto?
- Java 中的 final關鍵字有哪些用法?
- 什么時候用 assert?
- final, finally, finalize 的區別?
第 4 章 基本類型與運算
- 說說 & 和 && 的區別。
- 用最有效率的方法算出 2 乘以 8 等於幾?
- 存在使 i + 1 < i的數嗎?
- 0.6332 的數據類型是()
- System.out.println("5" + 2);的輸出結果應該是()
- 下面的方法,當輸入為 2 的時候返回值是多少?
- float f=3.4;是否正確?
- int 和 Integer 有什么區別?
- char 型變量中能不能存貯一個中文漢字?為什么?
- Math.round(11.5) 等于多少? Math.round(-11.5)等于多少?
第 5 章 字符串與數組
- 下面程序的運行結果是()
- 下面代碼的運行結果為?
- String 是最基本的數據類型嗎?
- 數組有沒有 length() 方法? String 有沒有 length() 方法?
- 是否可以繼承 String 類?
- String 和StringBuilder、StringBuffer 的區別?
- String s=new String(“xyz”);創建了幾個字符串對象?
- 將字符 “12345” 轉換成 long 型
- 為了顯示 myStr = 23 這樣的結果,寫出在控制臺輸入的命令
- String s = "Hello";s = s + " world!”; 這兩行代碼執行后,原始的 String 對象中的內容到底變 了沒有?
- 如何把一段逗號分割的字符串轉換成一個數組?
- 下面這條語句一共創建了多少個對象: String s=“a”+”b”+”c”+”d”;
- String 和 StringBuffer 的區別?
- String, StringBuffer StringBuilder的區別。
第 6 章 輸入輸出流
- 下面哪個流類屬于面向字符的輸入流?
- 閱讀 Shape 和 Circle 兩個類的定義。在序列化一個 Circle 的對象 circle 到文件時,下面哪個 字段會被保存到文件中?
- 什么是 Java 序列化,如何實現 Java 序列化?
第 7 章 集合類
- 下列說法正確的是()
- ArrayList list = new ArrayList(20);中的 list 擴充幾次?
- Java集合類框架的基本接口有哪些?
- 為什么集合類沒有實現 Cloneable 和 Serializable 接口?
- 什么是迭代器(Iterator)?
- Iterator和ListIterator的區別是什么?
- 快速失敗(fail-fast)和安全失敗(fail-safe)的區別是什么?
- Java 中的 HashMap 的工作原理是什么?
- hashCode() 和 equals() 方法的重要性體現在什么地方?
- HashMap 和 Hashtable 有什么區別?
- 數組(Array)和列表(ArrayList)有什么區別?什么時候應該使用 Array 而不是 ArrayList?
- ArrayList 和 LinkedList 有什么區別?
- Comparable 和Comparator 接口是干什么的?列出它們的區別。
- Java集合類框架的最佳實踐有哪些?
- Enumeration 接口和 Iterator 接口的區別有哪些?
- HashSet 和 TreeSet 有什么區別?
- List、Set、Map 是否繼承自 Collection 接口?
- 說出 ArrayList、Vector、LinkedList 的存儲性能和特性?
- List、Map、Set 三個接口存儲元素時各有什么特點?
- 判斷下列語句是否正確,如果有錯誤,請指出錯誤所在?
- 你是怎么理解 Java 泛型的?
第 8 章 Java 平臺與內存管理
- GC線程是否為守護線程?()
- 解釋內存中的棧(stack)、堆(heap)和靜態存儲區的用法。
- Java 中會存在內存泄漏嗎,請簡單描述。
- GC 是什么?為什么要有 GC?
- 第 3 行中生成的 object在第幾行執行后成為 garbage collection 的對象?
- 描述一下 JVM 加載 class 文件的原理機制?
第 9 章 異常處理
- 下面關于java.lang.Exception類的說法正確的是()
- 擴展:錯誤和異常的區別(Error vs Exception)
- getCustomerInfo() 方法如下,try 中可以捕獲三種類型的異常,如果在該方法運行中產生了一 個 IOException,將會輸出什么結果?
- try{} 里有一個 return 語句,那么緊跟在這個 try 后的 finally{} 里的 code 會不會被執行,什么 時候被執行,在 return 前還是后?
- Java 語言如何進行異常處理,關鍵字:throws、throw、try、catch、finally 分別如何使
用? - 運行時異常與受檢異常有何異同?
- 請寫出 5 種常見到的runtime exception。
- error 和 exception 有什么區別?
第 10 章 XML
- XML 包括哪些解釋技術,區別是什么?
- XML 文檔定義有幾種形式?它們之間有何本質區別?解析XML 文檔有哪幾種方式?
- 你在項目中哪些地方用到了 XML?
- 談談對 XML 的理解?說明 Web 應用中 Web.xml 文件的作用?
- XML 是一種元語言, 可以用它來描述其他語言。
- 在 XML 中用于注釋的符號是。(選擇1項)
- DTD 與 XML Schema 都是XML文檔。(選擇1項)
第 11 章 Java 多線程
- 下面哪些是Thread類的方法?
- 下面程序的運行結果?
- 進程和線程的區別是什么?
- 創建線程有幾種不同的方式?你喜歡哪一種?為什么?
- 概括的解釋下線程的幾種可用狀態。
- 同步方法和同步代碼塊的區別是什么?
- 在監視器(Monitor)內部,是如何做線程同步的?程序應該做哪種級別的同步?
- 什么是死鎖(deadlock)?
- 如何確保 N 個線程可以訪問 N 個資源同時又不導致死鎖?
- sleep() 和 wait() 有什么區別?
- sleep() 和 yield() 有什么區別?
- 當一個線程進入一個對象的 synchronized 方法 A 之后,其它線程是否可進入此對象的 synch ronized 方法?
- 請說出與線程同步相關的方法。
- synchronized 關鍵字的用法?
- 舉例說明同步和異步。
- 啟動一個線程是用 run() 還是 start() 方法?
- 什么是線程池(thread pool)?
- 線程的基本狀態以及狀態之間的關系?
- 死鎖的必要條件?怎么克服?
第 12 章 JDBC 與數據庫
- 下列屬于關系型數據庫的是()
- 在進行數據庫編程時,連接池有什么作用?
- 什么是 DAO 模式?
- 什么是ORM?
- JDBC 中如何進行事務處理?
- 事務的 ACID 是指什么?
- 使用 JDBC 操作數據庫時,如何提升讀取數據的性能?如何提升更新數據的性能?
- 存儲過程和函數的區別
- 你認為在表上建立索引可以提高數據庫系統的效率嗎,為什么?
- 什么是數據庫的參照完整性?
- 如何優化數據庫,如何提高數據庫的性能?
第 13 章 Servlet 與 JSP
- JSP 有哪些內置對象和動作?它們的作用分別是什么?
- 描述 JSP 和 Servlet 的區別、共同點、各自應用的范圍
- 從以下哪一個選項中可以獲得 Servlet的 初始化參數?
- 哪一個對象可以用于獲得瀏覽器發送的請求?
- 運行 jsp 需要安裝_______Web 服務器。
- 在服務器的網絡編程中,解決會話跟蹤的方法有
- 與 HttpSessionListener 接口有關的方法是
- 關于 JSP 生命周期的敘述,下列哪些為真?
- 以下聲明正確的是?
- 下列哪個為 JSP 的隱含對象?
- 下面的那一個不屬于 MVC 模式中的對象?
- 在 Servlet 處理請求的方式為。(選擇1項)
- javax.Servlet 的包中,屬于類的是。(選擇1項)
- Http 缺省的請求方法是。(選擇1項)
- 實現現下列哪一種接口的對象,并不需要在 web.xml 文件內進行額外的設定,Servlet 容器就 能夠回應該對象加入 HTTP 會話所發生的事件?(選擇1項)
- 下列哪個為 JSP 的小腳本的標簽?(選擇1項)
- 以下不屬于 JSP 的標準指令的是。(選擇1項)
- 對于每一個網站訪問用戶都要訪問的變量,應該將它設為________變量。(選擇1項)
- 查看下列 JSP 內容
- 假設 A.jsp 內設定一個 <jsp:useBean> 元素:
- 在 MVC 設計模式中,JavaBean的 作用是。(選擇1項)
第 14 章 J2EE 與 EJB
- J2EE 是什么?它包括哪些技術?
- 描述 J2EE 框架的多層結構,并簡要說明各層的作用。
- EJB 包含哪 3 種 bean
- Tomcat 服務器的默認端口是多少?怎樣修改 tomcat 的端口?
- EJB的優點有哪些?(選擇 2 項)
- 無狀態會話 Bean、有狀態會話 Bean、CMP 與 BMP 中,哪一種 Bean 不需要自己書寫連接 數據庫的代碼?
- 假設 web 應用的文檔根目錄為 MyApp,那么可以從哪里找到 database.jar 文件
- 要創建一個 EJB,必須要至少編寫哪些 Java 類和接口?
- EJB 類庫存在于 Java 的哪個版本中?(選擇1項)。
- 在 J2EE 中屬于 Web 層的組件有(選擇1項)
- EJB 的角色和三個對象
- EJB 的激活機制
- EJB 的幾種類型
第 15 章 SSH 架構
- 描述 Struts 體系結構?對應各個部分的開發工作主要包括哪些?
- 簡要描述如何結合 struts、hibernate、spring 開發 Web 應用?
- 說明反轉控制(IOC)和面向方向編程(AOP)在 spring 中的應用
- 簡述基于 Struts 框架 Web 應用的工作流程
- 在項目中用過 Spring的 哪些方面?及用過哪些 Ajax 框架?
- MVC 模式中 M,V,C 每個代表意義,并簡述在 Struts 中 MVC 的表現方式。
- Hibernate 中的 Java對象有幾種狀態,其相互關系如何(區別和相互轉換)。
- 對 Hibernate 的延遲加載如何理解,在實際應用中,延遲加載與 session 關閉的矛盾是如何處 理的?
- Struts1 中 actionform 和 action 屬于 MVC 哪一層,為什么?
- struts2 中,Action 通過什么方式獲得用戶從頁面輸入的數據,又是通過什么方式把其自身的 數據傳給視圖的?
- 說明什么是工廠模式?
- struts 中如何實現國際化,涉及哪些文件?
- Struts 框架可以支持以下哪種程序開發語言?(選擇1項)
- struts 是什么?
- spring 是什么?
- hibernate 是什么?
- 用自己的話簡要闡述 struts2 的執行流程
第 16 章 UML
- UML是什么?UML中有哪些圖?
- 類圖用來表示系統中類和類與類之間的關系,它是對系統動態結構的描述。(選擇1項)
第 17 章 常見設計模式
- 寫一個單例類。
- 說說你所熟悉或聽說過的設計模式以及你對設計模式的看法。
- 你在開發中都用到了那些設計模式?用在什么場合?
- 編程題: 寫一個Singleton出來
寫在最后
Java面試寶典已經整理完畢,共231頁,收集一百九十多道面試題。包含了:
- Java 基本概念
- 面向對象編程
- 關鍵字
- 基本類型與運算
- 字符串與數組
- 輸入輸出流
- 集合類
- Java 平臺與內存管理
- 異常處理
- XML
- Java 多線程
- JDBC 與數據庫
- Servlet 與 JSP
- J2EE 與 EJB
- SSH 架構
- UML
- 常見設計模式
等知識點,現將其免費分享給大家!
需要的朋友點擊下方傳送門, 即可免費領取面試資料和視頻學習資料
傳送門
以下是文章中的部分截圖