Java 語言八大特性
- 簡單性:無指標、無多重繼承、GC 自動管理記憶體。
- 網絡特性:原生支援 TCP/IP、HTTP、Socket。
- 面向對象:純粹 OO,一切皆物件。
- 平台無關性:一次編譯,到處執行。
- 穩定性:嚴格編譯/執行檢查、異常機制、GC。
- 安全性:沙箱模型、類載入器、安全管理器。
- 多線程:內建執行緒支援,提升並發效能。
- 解釋性:字節碼解釋執行,效率略低於原生編譯。
環境變數
| 變數 | 作用 | 設定範例 |
| Path | 系統尋找可執行檔 | C:\Java\jdk1.8\bin |
| Classpath | JVM 尋找類檔 | .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar |
JDK 1.5+ 可不設 Classpath,但建議保留以相容舊專案。
三大修飾詞
abstract(抽象)
- 修飾類 → 抽象類,不可實例化,可含抽象方法。
- 修飾方法 → 無方法體,以分號結束,強制子類實作。
- 不可修飾變數、建構子。
static(靜態)
- 修飾變數 → 類變數,屬於類,共享單份拷貝。
- 修飾方法 → 類方法,可直接
類名.方法() 呼叫,不可用 this/super。
- 靜態區塊
static { } 類載入時執行一次。
final(最終)
- 修飾類 → 不可被繼承。
- 修飾方法 → 不可被覆寫。
- 修飾變數 → 常數,靜態常數需宣告時或靜態區塊賦值;實例常數需宣告時或建構子賦值一次。
Vector(向量)
- 類似陣列但大小可變,元素必須為引用型別。
- 預設容量 10,增量 0(滿時倍增)。
- 常用方法:
add()、get()、set()、remove()、size()、capacity()。
- 線程安全(方法同步),效能較
ArrayList 低。
Hashtable(哈希表)
- 鍵值對存儲,Key/Value 均不可為 null。
- 線程安全,底層雜湊表 + 鏈表。
- 查找複雜度 O(1),適合高頻查找場景。
- 現代開發建議用
HashMap(非同步)+ Collections.synchronizedMap 或 ConcurrentHashMap。
參考資源
哈希表原理深度解析:vamei 博客