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

Java 基礎核心知識點總結:關鍵字、集合、異常、線程安全對比

     編輯:Java 綜合教學

運算符與流程控制

對比項短路運算符非短路運算符
&& vs &左側 false 直接結束,不執行右側無論左側結果,均執行右側
|| vs |左側 true 直接結束,不執行右側無論左側結果,均執行右側

短路特性常用於空指針防護:if (obj != null && obj.method())

對象比較

  • ==:基本類型比值,引用類型比地址
  • equals():Object 默認比地址;String、包裝類重寫比內容
  • equalsIgnoreCase():忽略大小寫比較字符串

異常體系

  • Error:JVM/硬件級故障(OutOfMemoryError、StackOverflowError),不可捕獲恢復
  • Exception:程序邏輯可預期/處理的異常
    • 受檢異常:編譯期強制處理(IOException、SQLException)
    • 非受檢異常:RuntimeException 及子類(NullPointerException、IllegalArgumentException)

構造方法 vs 普通方法

維度構造方法普通方法
返回值無(連 void 都沒有)必須聲明返回類型
方法名與類名相同任意合法標識符
調用方式new ClassName(),JVM 自動調用,一次對象.方法名(),可重複調用
作用初始化對象狀態描述對象行為

字符串處理類

特性StringBufferStringBuilder
線程安全同步方法,安全非同步,不安全
性能較低較高(單線程首選)
引入版本JDK 1.0JDK 1.5

集合框架三大接口特徵

接口有序性重複性結構
List有序(插入序)允許重複單列
Set無序(HashSet)/ 有序不允許重複單列
Map無序/有序Key 唯一,Value 可重複雙列

主流 List 實現對比

實現底層結構增刪性能查詢性能線程安全擴容機制
ArrayListObject[]慢(需移位/擴容)快(隨機訪問 O(1))非同步1.5 倍
LinkedList雙向鏈表快(僅改指針)慢(順序遍歷 O(n))非同步無容量限制
VectorObject[]慢快同步(性能差)2 倍

數組 vs ArrayList

  • 數組:固定長度、可存基本類型與對象、無泛型
  • ArrayList:動態擴容、僅存對象(自動裝箱)、支援泛型

變量作用域與生命周期

維度成員變量局部變量
定義位置類中、方法外方法/代碼塊內
生命周期隨對象創建/銷毀隨方法調用/結束
默認值有(0/false/null 等)無,必須顯式初始化
存儲區域堆(對象內部)棧(幀中)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved