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

自學 Java 總結筆記:從基礎語法到 J2EE 全棧知識體系

     編輯:Java 綜合教學

自學 Java 知識圖譜:基礎、集合、IO、多線程、網絡、GUI、Web、框架全景梳理

本文為自學 Java 過程中的系統性總結,按模塊梳理核心知識點,適合作為面試複習速查表或知識體系構建參考。

一、基礎語法與 OOP 核心

  • 基本類型:4 類 8 種,byte/short/int/long 1/2/4/8 字節,long 賦值需加 L。
  • 包裝類:對應基本類型,緩存機制(-128~127)、自動拆裝箱陷阱。
  • 三大特性:封裝(隱藏細節)、繼承(單繼承+多層)、多態(向上轉型+動態綁定)。
  • 關鍵字:final(不可變/不可繼承/不可覆蓋)、static(類級共享)、abstract(抽象類/方法)、interface(契約)。
  • Object 核心方法:equals/hashCode 契約、toString、clone 淺拷貝。

二、異常處理體系

  • Throwable → Error(不可恢復) / Exception → RuntimeException(非受檢) / 受檢異常。
  • try-catch-finally、throw/throws、try-with-resources (JDK 7+)。
  • 自定義異常繼承 Exception,命名以 Exception 結尾。

三、集合框架

核心原理:HashMap 數組+鏈表/紅黑樹、HashSet 基於 Map 實現、equals/hashCode 契約決定唯一性。

工具類:Collections (排序、二分查找、同步包裝)、Arrays。

四、IO 流體系

  • 按方向:輸入流 / 輸出流。
  • 按單位:字節流 (InputStream/OutputStream) / 字符流 (Reader/Writer)。
  • 按功能:節點流(直達數據源) / 處理流(裝飾器模式增強)。
  • 關鍵裝飾:Buffered* (緩衝)、InputStreamReader/OutputStreamWriter (字節轉字符)、DataInput/OutputStream (基本類型)、ObjectInput/OutputStream (序列化)。
  • Serializable 標記接口,transient 跳過序列化。

五、多線程與併發

  • 創建方式:實現 Runnable / 繼承 Thread / Callable+Future / 線程池。
  • 生命周期:新建 → 就緒 → 運行 → 阻塞 → 死亡。
  • 同步機制:synchronized (對象鎖/類鎖)、Lock (ReentrantLock)、volatile (可見性)。
  • 線程通信:wait/notify/notifyAll、Condition。
  • 併發工具:CountDownLatch、CyclicBarrier、Semaphore、ConcurrentHashMap、ThreadLocal。

六、網絡編程

  • TCP:面向連接、可靠、三次握手、Socket/ServerSocket。
  • UDP:無連接、不可靠、快、DatagramSocket/DatagramPacket。
  • URL/HttpURLConnection:HTTP 請求封裝。

七、GUI 與前端基礎

  • AWT (重量級、依賴 OS) → Swing (輕量級、純 Java、雙緩衝、可換膚)。
  • 佈局管理器:FlowLayout、BorderLayout、GridLayout、CardLayout、GroupLayout。
  • 事件模型:事件源、監聽器、適配器模式。
  • JavaScript/CSS/XML 基礎:DOM 操作、事件冒泡、AJAX、CSS 選擇器、XML DOM/SAX/StAX 解析。

八、J2EE / Web 開發棧

  • Servlet:生命周期、web.xml 配置、Request/Response/Session/Cookie、Filter、Listener。
  • JSP:九大內置對象、四大作用域、JSTL/EL 表達式、自定義標簽、MVC Model1/Model2。
  • Struts2:攔截器鏈、值棧、OGNL、Action 支持多數據封裝模式、Result 類型 (dispatch/redirect/chain)。
  • Hibernate:Session/SessionFactory、一級/二級緩存、HQL/ Criteria、延遲加載、OpenSessionInView。
  • Spring:IOC/DI、AOP、聲明式事務、Spring MVC、模板類 (JdbcTemplate/HibernateTemplate)。
  • MyBatis:SQL 映射、動態 SQL、結果映射、插件機制。

九、構建工具與項目管理

  • Maven:坐標、依賴傳遞、生命周期、插件、Profile、私服。
  • Git/SVN:分支策略、衝突解決、工作流。

十、設計模式與 UML

  • 創建型:單例、工廠、建造者、原型。
  • 結構型:代理、裝飾器、適配器、外觀。
  • 行為型:觀察者、策略、模板方法、責任鏈。
  • UML:類圖(泛化/實現/關聯/聚合/組合/依賴)、時序圖、用例圖、活動圖、部署圖。

十一、其他實用工具

  • Ant:構建腳本 (build.xml)。
  • XDoclet:註解生成代碼/配置。
  • Log4j/Logback/SLF4J:日誌門面與實現、級別、Appender、PatternLayout。
  • JUnit/TestNG:單元測試、斷言、參數化、Mockito 模擬。
  • DWR:Java 直接暴露給 JavaScript 調用 (AJAX 早期方案)。

十二、數據庫與 SQL

  • Oracle/MySQL/SQL Server 基礎操作、索引原理、優化技巧、事務 ACID、隔離級別、鎖機制。
  • 分頁查詢、分組統計、外連接、子查詢、游標、存儲過程。

這份總結見證了從「HelloWorld」到「分佈式架構」的成長路徑。技術棧日新月異,但核心原理(內存模型、併發模型、網絡模型、設計原則)永遠不會過時。保持好奇,持續構建。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
接口實現特點
ListArrayList / LinkedList有序、可重復、下標訪問 / 增刪快
SetHashSet / TreeSet無序唯一 / 有序唯一
MapHashMap / TreeMap鍵值對、Key 唯一