首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 基礎核心知識點大全(一):面向對象、基礎類型、集合、異常、Servlet、EJB

     編輯:Java 相關知識

本文匯總 Java 面試與開發高頻考點,涵蓋面向對象四大特徵、基礎資料型別陷阱、集合框架效能特性、異常體系、Servlet 生命週期、EJB 架構等核心領域。

1. 面向對象四大特徵

特徵核心含義關鍵點
抽象忽略非本質細節,關注核心屬性/行為過程抽象 + 資料抽象
繼承子類別復用父類別特性,建立 IS-A 關係單繼承、super、方法覆寫、向上轉型
封裝資料與操作綁定,內部細節隱藏,暴露介面private 欄位 + public getter/setter
多態同一訊息,不同物件產生不同行為覆寫 + 向上轉型 + 動態綁定

2. String 不是基本型別

  • 8 大基本型別:byte, short, int, long, float, double, char, boolean。
  • String 是 final class,不可繼承、內容不可變。
  • 頻繁拼接字串請用 StringBuilder(非執行緒安全、效能高)或 StringBuffer(執行緒安全)。

3. int vs Integer

Java 5+ 支援自動裝箱/拆箱,但高頻迴圈中仍建議用基本型別避免物件創建開銷。

4. String vs StringBuffer/StringBuilder

  • String:不可變,每次操作產生新物件。
  • StringBuffer:可變、執行緒安全(synchronized)、效能較低。
  • StringBuilder:可變、非執行緒安全、效能最高(JDK 5+ 推薦單執行緒用)。

5. 運行時異常 vs 受檢異常

維度int (基本型別)Integer (包裝類別)
儲存內容直接儲存數值儲存物件參考(堆上物件)
預設值0null
記憶體佔用4 位元組物件頭 + 實例資料 + 對齊填充(約 16+ 位元組)
速度快較慢(拆箱/裝箱開銷)
泛型支援不可用可用 List<Integer>

6. Servlet 生命週期 vs CGI

Servlet 生命週期:
init() → service() → doGet/doPost() → destroy()

CGI 差異:
- Servlet:單實例、多執行緒、常駐記憶體、效能高
- CGI:每請求新進程、服務完銷毀、效能低

7. ArrayList vs Vector vs LinkedList

類別繼承自編譯器檢查典型例子
受檢異常Exception (非 RuntimeException)強制 try-catch 或 throwsIOException, SQLException
運行時異常RuntimeException不強制,建議邏輯預防NullPointerException, IndexOutOfBoundsException
實現查詢(隨機存取)插入/刪除(頭尾)插入/刪除(中間)執行緒安全
ArrayListO(1) 快O(1) 尾部快O(n) 需搬移否
VectorO(1)O(1)O(n)是 (synchronized)
LinkedListO(n) 慢O(1) 快O(1) 快否

選型建議:預設用 ArrayList;高併發讀寫考慮 CopyOnWriteArrayList;頻繁頭尾操作用 LinkedList 或 ArrayDeque。

8. EJB 基礎架構

  • 技術基礎:JNDI(命名)、RMI(遠程調用)、JTA(事務)。
  • 三大 Bean:
    • Session Bean:業務邏輯(有狀態/無狀態)。
    • Entity Bean:持久化資料實體(現多用 JPA/Hibernate 替代)。
    • Message Driven Bean:非同步訊息處理。

速查口訣

基本型別八個記心間,String 最終不可變。
int 與 Integer 分清楚,自動裝箱別貪便。
集合三大各有長,隨機查詢 ArrayList。
異常分類要分明,受檢必須處理清。
Servlet 單例多線程,CGI 進程太累人。
EJB 三類分工明,JNDI RMI JTA 基礎行。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved