本文系統梳理 Java SE 核心知識點,涵蓋開發流程、語法基礎、面向對象、集合框架、異常處理、IO 流、多線程、網路編程、反射、泛型、註解等模組,適合建立完整知識地圖與面試複習。
JAVA_HOME、Path、Classpath(優先當前目錄,再按路徑搜尋)javac 生成 .class 位元碼;java 啟動 JVM 載入執行byte, short, int, long, float, double, char, boolean;自動/強制轉型規則&&/|| 短路)、位運算(<<, >>, >>>)、異或交換變數技巧if/switch(固定值判斷用 switch)、for/while/do-while、break/continue、標籤跳出多層迴圈main 方法簽名解析| 特徵 | 核心機制 | 關鍵字/語法 |
|---|---|---|
| 封裝 | 隱藏屬性,提供公共存取方法 | private, setXxx/getXxx, this |
| 繼承 | 單繼承、多層繼承、super 呼叫父建構子、方法覆寫規則 | extends, super, final, abstract |
| 多態 | 父類引用指向子類對象、向上/向下轉型、instanceof 判斷 | 動態綁定(方法)、靜態綁定(變數/靜態方法) |
| 抽象 | 抽象類/介面、模板方法模式 | abstract, interface, implements |
equals/hashCode/toString 覆寫規約Throwable → Error(不可處理) / Exception(可處理) → RuntimeException(運行時)try-catch-finally、throws 拋出、throw 主動拋出、自訂異常、異常鏈轉換catch,不能處理就 throws;finally 釋放資源(System.exit(0) 除外)
List(有序、可重複) / Set(無序、唯一)ArrayList(陣列、查詢快) / LinkedList(鏈表、增刪快) / Vector(同步、已淘汰)HashSet(哈希表、hashCode/equals) / LinkedHashSet(有序) / TreeSet(紅黑樹、排序、Comparable/Comparator)HashMap(非同步、允許 null) / Hashtable(同步、不允許 null) / TreeMap(排序)Iterator、ListIterator、增強 for、forEach(Java 8+)Collections(排序/查找/同步包裝) / Arrays(陣列轉 List/排序/複製)InputStream/OutputStream) vs 字元流(Reader/Writer);輸入 vs 輸出BufferedReader/Writer、InputStreamReader/OutputStreamWriter(轉換流、指定編碼)File(檔案/目錄操作)、RandomAccessFile(隨機存取)、PrintWriter(格式化輸出)Serializable、transient、serialVersionUID、ObjectOutputStream/InputStreamDataInput/OutputStream(基本型別)、ByteArrayInput/OutputStream(記憶體)、管道流、序列流Thread / 實現 Runnable / 實現 Callable+FutureTask(可回傳值/拋異常)synchronized(程式碼塊/方法)、Lock(ReentrantLock)、Condition(await/signal)wait/notify/notifyAll(需在同步塊中)、生產者消費者模型ExecutorService)、volatile、ThreadLocal、Atomic 類、CountDownLatch/CyclicBarrier/SemaphoreDatagramSocket + DatagramPacket,無連線、不可靠、速度快ServerSocket(伺服端) + Socket(客戶端),三次交握、可靠串流、getInputStream/getOutputStreamClass.forName()、.class、obj.getClass()Constructor)、方法(Method)、欄位(Field);setAccessible(true) 破壞封裝Proxy.newProxyInstance + InvocationHandler,AOP 基石<? extends E>)/下界(<? super E>)通配符、PECS 原則@Override/@Deprecated/@SuppressWarnings) / 元註解(@Retention/@Target/@Documented/@Inherited) / 自訂註解 + 反射解析filter/map/reduce/collect 等流式處理Optional 避免空指針、LocalDateTime 新時間 APIdefault/static 介面方法、重複註解、類型註解