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

Java 學習階段核心知識點總結:從 Applet 到網路程式設計

     編輯:Java 相關知識

分階段學習大綱

本文將 Java 學習過程劃分為九個階段,梳理每階段核心知識點,適合作為復習清單或教學大綱參考。

第一階段:Applet 與應用程式基礎

  • Applet (網頁嵌入) vs Application (獨立執行) 差異。
  • Applet 生命週期:init() → start() → paint() → stop() → destroy()。
  • 繪圖核心:Graphics 類、paint(Graphics g)、ImageIcon 載入圖片。
  • AWT vs Swing:Swing 為 AWT 擴充,提供輕量級元件與可換裝外觀。

第二階段:佈局管理器

  • 常用:FlowLayout (預設)、BorderLayout (Frame 預設)、GridLayout、BoxLayout、GridBagLayout (最靈活,需 GridBagConstraints)。
  • 巢狀面板組合複雜介面:外層 BorderLayout,內層各區域用不同佈局。

第三階段:事件處理機制

  • 事件模型:事件源、事件物件、監聽器介面(如 ActionListener)。
  • 所有監聽器方法回傳 void、皆為抽象方法需實作。
  • 覆寫 vs 重載:覆寫(Override)改寫父類行為,重載(Overload)同名不同參數。
  • 介面 vs 抽象類:介面全抽象、多實現;抽象類可有實作、單繼承。

第四階段:異常處理

  • Error (系統級不可恢復) vs Exception (可處理)。
  • 檢查型異常 (編譯強制捕獲) vs 非檢查型 (RuntimeException 子類)。
  • 自訂異常:繼承 Exception,建議提供無參、訊息、原因建構子。
  • throw 拋出異常實例,throws 宣告方法拋出類型。
  • finally 區塊確保資源釋放,final 修飾常數/不可變參考/不可繼承類。

第五階段:多執行緒

  • 進程 vs 執行緒:進程獨立記憶體空間,執行緒共享進程資源。
  • 建立執行緒:繼承 Thread 重寫 run(),或實作 Runnable 傳給 Thread 建構子(推薦)。
  • 生命週期:NEW → RUNNABLE → BLOCKED/WAITING/TIMED_WAITING → TERMINATED。
  • 同步機制:synchronized、Lock、volatile、ThreadLocal。
  • 日期時間:Date (舊)、Calendar、LocalDateTime (Java 8+ 推薦)。

第六階段:I/O 流深入

  • 位元組流抽象基類:InputStream/OutputStream。
  • 檔案操作:File、RandomAccessFile (隨機存取)。
  • 字元流抽象基類:Reader/Writer。
  • 緩衝與列印:BufferedInputStream/Reader、PrintStream/Writer。
  • 序列化:Serializable、ObjectOutputStream 持久化物件圖。

第七/八階段:網路程式設計

  • Socket 程式設計:ServerSocket.accept() 阻塞等待連線,Socket 客戶端連接 IP+Port。
  • IO 多工:每連線一執行緒 (Thread-per-connection) vs NIO Selector (非阻塞)。
  • 應用層協定:HTTP、自訂協定(長度前綴、分隔符、JSON/Protobuf 序列化)。
  • 取得本機 IP:InetAddress.getLocalHost()。

第九階段:舊版集合 Vector 與現代替代

  • Vector:同步化、擴容倍數 2x,效能較差,已被 ArrayList + 手動同步或 Collections.synchronizedList 取代。
  • 常用方法對應:addElement → add, insertElementAt → add(index, e), setElementAt → set(index, e)。

學習建議

循序漸進,每階段動手實作;重點掌握 Java 8+ 現代 API (Stream, Lambda, Time, NIO);閱讀原始碼養成庫設計思維。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved