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

《瘋狂Java講義》核心知識點精華筆記(上)

     編輯:Java 綜合教學

語言基礎與執行模型

  1. 執行方式:Java 先編譯為 .class 字節碼,再由 JVM 解釋執行,兼具跨平台與效能
  2. 垃圾回收:堆內存自動回收,程序員無法精確控制;養成「用完置 null」習慣助力 GC
  3. 強類型:變量必須聲明類型,賦值需類型匹配
  4. 兩大類型體系:基本類型(boolean、數值)與引用類型(類、接口、數組)
  5. 強制轉型:截取二進制低位,非簡單截斷小數(如 (int)19.745 實為截取浮點數二進制表示)
  6. 常量池:編譯期確定的字面量、類/方法/接口符號引用存入 .class

流程控制與語法糖

  1. switch 支持:byte/short/char/int/Enum/String(Java 7+)
  2. 標簽 break/continue 可跳出多層循環
  3. Arrays 工具類(Java 8+ 增加並行流操作):equals/copyOf/fill/sort/toString

內存模型與對象創建

  1. 棧 vs 堆:局部變量在棧(隨方法銷毀),對象在堆(GC 管理)
  2. new 調用構造器創建對象
  3. this:代表調用者對象,構造器中指代正在初始化的對象;返回 this 支持鏈式調用
  4. static:屬於類,用類名訪問,勿用對象訪問
  5. 參數傳遞:值傳遞(引用類型傳遞的是引用的副本)
  6. 可變參數 Type... args:本質是數組,每個方法僅能有一個
  7. 遞歸:必須向基準情況收斂

面向對象核心

  1. 局部變量分類:形參、方法局部、代碼塊局部
  2. 封裝:隱藏字段,暴露方法,方法中加業務約束
  3. 高內聚、低耦合:模塊內部自治,對外極少接口
  4. 靜態導入:import static pkg.Class.field
  5. 構造器鏈:子類構造器必調用父類構造器(隱式 super() 或顯式 super(args))
  6. 重寫規則:兩同(方法名、參數表)、兩小(返回值、異常)、一大(訪問權限)
  7. 子類對象包含父類繼承字段的內存佈局
  8. 多態:編譯時類型 vs 運行時類型;成員變量無多態,永訪問編譯類型字段
  9. instanceof:判斷對象是否為類/子類/實現類實例
  10. 繼承 vs 組合:is-a vs has-a,系統開銷相近,組合更靈活

初始化與不可變模式

  1. 初始化塊:{ } 在構造器前執行;靜態塊 static { } 最早執行
  2. 包裝類實例可直接與基本類型比較(自動拆箱)
  3. 重寫 toString() 便於調試輸出
  4. == vs equals():引用類型 == 比地址;String 常量池機制導致 == 行為特殊
  5. 重寫 equals() 五大契約:自反、對稱、傳遞、一致、非空;equals 相同必 hashCode 相同
  6. null 可調用靜態成員(編譯期解析為類調用)
  7. final:引用不可變,對象內容可變;方法不可重寫可重載
  8. 宏變量:static final + 編譯期常量值 → 編譯器內聯進常量池
  9. 不可變類:private final 字段 + 無 setter + 防禦性複製
  10. 緩存池模式:FIFO 緩存實例,重寫 equals/hashCode 實現語義去重

接口演進與內部類

  1. Java 8 接口三方法:抽象、默認(default)、靜態(static)
  2. 抽象類:中間產品,部分實現,不可實例化
  3. 內部類分類:成員內部類(靜態/非靜態)、局部內部類、匿名內部類
  4. 非靜態內部類隱持外部類引用,可訪問外部 private;不可定義 static 成員(常量除外)
  5. 靜態內部類無外部實例引用,可定義靜態成員
  6. 匿名內部類:必須繼承/實現、非抽象、無構造器、Java 8+ 隱式 final 局部變量
  7. 枚舉類替代 static final 常量,支持 switch、攜帶字段/方法

GC 進階與引用類型

  1. GC 僅回收堆對象,不管物理資源(需 try-with-resources 或 AutoCloseable)
  2. finalize() 可復活對象,但調用時機不確定,不建議依賴
  3. 四大引用強弱:強 > 軟(內存不足回收)> 弱(GC 必回收)> 虛(幽靈引用,配合 ReferenceQueue)

(待續:集合框架、并发、JVM、IO、網絡等進階專題)

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